1 |
712 |
jeremybenn |
2006-12-31 Paul Thomas
|
2 |
|
|
|
3 |
|
|
PR fortran/27900
|
4 |
|
|
* resolve.c (resolve_actual_arglist): If all else fails and a
|
5 |
|
|
procedure actual argument has no type, see if a specific
|
6 |
|
|
intrinsic matches.
|
7 |
|
|
|
8 |
|
|
PR fortran/24325
|
9 |
|
|
* resolve.c (resolve_function): If the function reference is
|
10 |
|
|
FL_VARIABLE this is an error.
|
11 |
|
|
|
12 |
|
|
2006-12-31 Paul Thomas
|
13 |
|
|
|
14 |
|
|
PR fortran/23060
|
15 |
|
|
* intrinsic.c (compare_actual_formal ): Distinguish argument
|
16 |
|
|
list functions from keywords.
|
17 |
|
|
* intrinsic.c (sort_actual): If formal is NULL, the presence of
|
18 |
|
|
an argument list function actual is an error.
|
19 |
|
|
* trans-expr.c (conv_arglist_function) : New function to
|
20 |
|
|
implement argument list functions %VAL, %REF and %LOC.
|
21 |
|
|
(gfc_conv_function_call): Call it.
|
22 |
|
|
* resolve.c (resolve_actual_arglist): Add arg ptype and check
|
23 |
|
|
argument list functions.
|
24 |
|
|
(resolve_function, resolve_call): Set value of ptype before
|
25 |
|
|
calls to resolve_actual_arglist.
|
26 |
|
|
* primary.c (match_arg_list_function): New function.
|
27 |
|
|
(gfc_match_actual_arglist): Call it before trying for a
|
28 |
|
|
keyword argument.
|
29 |
|
|
|
30 |
|
|
2006-12-28 Paul Thomas
|
31 |
|
|
|
32 |
|
|
PR fortran/30034
|
33 |
|
|
* resolve.c (resolve_formal_arglist): Exclude the test for
|
34 |
|
|
pointers and procedures for subroutine arguments as well as
|
35 |
|
|
functions.
|
36 |
|
|
|
37 |
|
|
PR fortran/30237
|
38 |
|
|
* intrinsic.c (remove_nullargs): Do not pass up arguments with
|
39 |
|
|
a label. If the actual has a label and the formal has a type
|
40 |
|
|
then emit an error.
|
41 |
|
|
|
42 |
|
|
2006-12-27 Jerry DeLisle
|
43 |
|
|
|
44 |
|
|
PR fortran/30014
|
45 |
|
|
*io.c (resolve_tag): Don't issue error for tag_size type not being
|
46 |
|
|
default integer size for -std=F2003. Add similar check for
|
47 |
|
|
tag_iolength.
|
48 |
|
|
*ioparm.def: Change size and iolength parameters to ioint pointer, which
|
49 |
|
|
corresponds to GFC_IO_INT on the library side.
|
50 |
|
|
|
51 |
|
|
2006-12-27 Gerald Pfeifer
|
52 |
|
|
|
53 |
|
|
* interface.c (compare_actual_formal): Remove unused variable
|
54 |
|
|
gsym.
|
55 |
|
|
|
56 |
|
|
2006-12-27 Paul Thomas
|
57 |
|
|
|
58 |
|
|
PR fortran/20896
|
59 |
|
|
* interface.c (check_sym_interfaces): Try to resolve interface
|
60 |
|
|
reference as a global symbol, if it is not a nodule procedure.
|
61 |
|
|
(compare_actual_formal): Remove call to gfc_find_symbol; if
|
62 |
|
|
the expression is already a variable it is locally declared
|
63 |
|
|
and this has precedence.
|
64 |
|
|
gfortran.h : Add prototype for resolve_global_procedure.
|
65 |
|
|
resolve.c (resolve_global_procedure): Remove static attribute
|
66 |
|
|
from function declaration.
|
67 |
|
|
(resolve_fl_procedure): Remove symtree declaration and the
|
68 |
|
|
redundant check for an ambiguous procedure.
|
69 |
|
|
|
70 |
|
|
PR fortran/25135
|
71 |
|
|
* module.c (load_generic_interfaces): If the symbol is present
|
72 |
|
|
and is not generic it is ambiguous.
|
73 |
|
|
|
74 |
|
|
2006-12-22 Paul Thomas
|
75 |
|
|
|
76 |
|
|
PR fortran/25818
|
77 |
|
|
* trans-array.c (gfc_trans_g77_array): If the variable is
|
78 |
|
|
optional or not always present, make the statement conditional
|
79 |
|
|
on presence of the argument.
|
80 |
|
|
* gfortran.h : Add symbol_attribute not_always_present.
|
81 |
|
|
* resolve.c (check_argument_lists): New function to check if
|
82 |
|
|
arguments are not present in all entries.
|
83 |
|
|
|
84 |
|
|
PR fortran/30084
|
85 |
|
|
* module.c (mio_component_ref): Move treatment of unique name
|
86 |
|
|
variables, during output, to fix_mio_expr.
|
87 |
|
|
(fix_mio_expr): New function that fixes defective expressions
|
88 |
|
|
before they are written to the module file.
|
89 |
|
|
(mio_expr): Call the new function.
|
90 |
|
|
(resolve_entries): Call check_argument_lists.
|
91 |
|
|
|
92 |
|
|
2006-12-21 Roger Sayle
|
93 |
|
|
|
94 |
|
|
* trans-array.c (gfc_trans_create_temp_array): When the size is known
|
95 |
|
|
at compile-time, avoid an unnecessary conditional assignment.
|
96 |
|
|
(gfc_array_init_size): Likewise.
|
97 |
|
|
|
98 |
|
|
2006-12-22 Kazu Hirata
|
99 |
|
|
|
100 |
|
|
* interface.c: Fix a comment typo.
|
101 |
|
|
|
102 |
|
|
2006-12-21 Paul Thomas
|
103 |
|
|
|
104 |
|
|
PR fortran/30273
|
105 |
|
|
* dependency.c (gfc_check_dependency): There is no dependency
|
106 |
|
|
with EXPR_NULL so always return 0.
|
107 |
|
|
|
108 |
|
|
2006-12-21 Paul Thomas
|
109 |
|
|
|
110 |
|
|
PR fortran/30202
|
111 |
|
|
* trans-array.c (gfc_conv_function_call): Use parmse.expr for
|
112 |
|
|
the nullifying of intent(out) arguments rather than the backend
|
113 |
|
|
declaration.
|
114 |
|
|
|
115 |
|
|
2006-12-20 Tobias Schlüter
|
116 |
|
|
|
117 |
|
|
PR fortran/25392
|
118 |
|
|
* trans-stmt.c (gfc_trans_return): Fix comment formatting.
|
119 |
|
|
* trans-types.c (gfc_sym_type): Don't return early for functions.
|
120 |
|
|
Remove special handling for -ff2c.
|
121 |
|
|
(gfc_get_function_type): Add special handling for -ff2c.
|
122 |
|
|
* trans-decl.c (gfc_create_function_decl): Fix comment formatting.
|
123 |
|
|
(gfc_get_fake_result_decl): Make sure we get the right type for
|
124 |
|
|
functions.
|
125 |
|
|
(gfc_generate_function_code): Convert type of result variable to
|
126 |
|
|
type of function.
|
127 |
|
|
|
128 |
|
|
2006-12-20 Paul Thomas
|
129 |
|
|
|
130 |
|
|
PR fortran/30190
|
131 |
|
|
* trans-array.c (gfc_conv_array_ref): Remove gfc_evaluate_now
|
132 |
|
|
from the -fbounds-check branch.
|
133 |
|
|
|
134 |
|
|
2006-12-20 Roger Sayle
|
135 |
|
|
|
136 |
|
|
* trans-expr.c (is_zero_initializer_p): Determine whether a given
|
137 |
|
|
constant expression is a zero initializer.
|
138 |
|
|
(gfc_trans_zero_assign): New function to attempt to optimize
|
139 |
|
|
"a(:) = 0.0" as a call to __builtin_memset (a, 0, sizeof(a));
|
140 |
|
|
(gfc_trans_assignment): Special case array assignments to a
|
141 |
|
|
zero initializer constant, using gfc_trans_zero_assign.
|
142 |
|
|
|
143 |
|
|
2006-12-20 Paul Thomas
|
144 |
|
|
|
145 |
|
|
PR fortran/29992
|
146 |
|
|
* interface.c (check_sym_interfaces): Module procedures in a
|
147 |
|
|
generic must be use associated or contained in the module.
|
148 |
|
|
* decl.c (gfc_match_modproc): Set attribute mod_proc.
|
149 |
|
|
* gfortran.h (symbol_attribute): Add mod_proc atribute.
|
150 |
|
|
|
151 |
|
|
PR fortran/30081
|
152 |
|
|
* resolve.c (resolve_generic_f, resolve_generic_s): Use
|
153 |
|
|
gfc_intrinsic_name to find out if the function is intrinsic
|
154 |
|
|
because it does not have to be a generic intrinsic to be
|
155 |
|
|
overloaded.
|
156 |
|
|
|
157 |
|
|
2006-12-19 Tobias Burnus
|
158 |
|
|
|
159 |
|
|
PR fortran/39238
|
160 |
|
|
* trans-intrinsic.c: Check for associated(NULL,NULL).
|
161 |
|
|
|
162 |
|
|
2006-12-19 Paul Thomas
|
163 |
|
|
|
164 |
|
|
PR fortran/30236
|
165 |
|
|
* interface.c (compare_interfaces): Handle NULL symbols.
|
166 |
|
|
(count_types_test): Count NULL symbols, which correspond to
|
167 |
|
|
alternate returns.
|
168 |
|
|
|
169 |
|
|
(check_interface1): Change final argument from int to bool
|
170 |
|
|
in the function and all references.
|
171 |
|
|
|
172 |
|
|
2006-12-18 Roger Sayle
|
173 |
|
|
|
174 |
|
|
* trans-array.c (gfc_conv_array_index_offset): Avoid multiplying
|
175 |
|
|
index by one, or adding zero to it.
|
176 |
|
|
|
177 |
|
|
2006-12-17 Roger Sayle
|
178 |
|
|
|
179 |
|
|
PR fortran/30207
|
180 |
|
|
* dependency.c (gfc_full_array_ref_p): New function to test whether
|
181 |
|
|
the given array ref specifies the entire array.
|
182 |
|
|
(gfc_dep_resolver): Use gfc_full_array_ref_p to analyze AR_FULL
|
183 |
|
|
array refs against AR_SECTION array refs, and vice versa.
|
184 |
|
|
* dependency.h (gfc_full_array_ref_p): Prototype here.
|
185 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Use gfc_full_array_ref_p.
|
186 |
|
|
|
187 |
|
|
2006-12-16 Brooks Moses
|
188 |
|
|
|
189 |
|
|
* gfortran.texi: Added TeX support for document parts;
|
190 |
|
|
rearranged existing text into "About GNU Fortran",
|
191 |
|
|
"Invoking GNU Fortran", and "Language Reference" parts.
|
192 |
|
|
|
193 |
|
|
2006-12-15 Jerry DeLisle
|
194 |
|
|
|
195 |
|
|
PR fortran/30200
|
196 |
|
|
* trans-io.c (build_dt): Move post block for format_expr to end.
|
197 |
|
|
|
198 |
|
|
2006-12-14 Richard Guenther
|
199 |
|
|
Diego Novillo
|
200 |
|
|
|
201 |
|
|
* Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency.
|
202 |
|
|
* options.c (params.h): Include.
|
203 |
|
|
(gfc_post_options): Set MAX_ALIASED_VOPS to 50.
|
204 |
|
|
|
205 |
|
|
2006-12-13 Richard Guenther
|
206 |
|
|
|
207 |
|
|
PR fortran/30115
|
208 |
|
|
* trans-array.c (gfc_array_allocate): Adjust for changed
|
209 |
|
|
library interface.
|
210 |
|
|
(gfc_array_deallocate): Likewise.
|
211 |
|
|
(gfc_trans_dealloc_allocated): Likewise.
|
212 |
|
|
* trans-stmt.c (gfc_trans_allocate): Likewise.
|
213 |
|
|
(gfc_trans_deallocate): Likewise.
|
214 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Adjust
|
215 |
|
|
function declarations to match the library changes. Mark
|
216 |
|
|
allocation functions with DECL_IS_MALLOC.
|
217 |
|
|
|
218 |
|
|
2006-12-12 Tobias Schlüter
|
219 |
|
|
|
220 |
|
|
* trans-expr.c (gfc_conv_substring): Check for empty substring.
|
221 |
|
|
|
222 |
|
|
2006-12-11 Jan Hubicka
|
223 |
|
|
|
224 |
|
|
* f95-lang.c (gfc_expand_function): Update for renamed varpool
|
225 |
|
|
functions.
|
226 |
|
|
|
227 |
|
|
2006-12-10 Tobias Burnus
|
228 |
|
|
|
229 |
|
|
* gfortran.texi: Update Fortran 2003 section.
|
230 |
|
|
|
231 |
|
|
2006-12-10 Tobias Burnus
|
232 |
|
|
|
233 |
|
|
PR fortran/23994
|
234 |
|
|
* interface.c (compare_actual_formal): PROTECTED is incompatible
|
235 |
|
|
with intent(out).
|
236 |
|
|
* symbol.c (check_conflict): Check for PROTECTED conflicts.
|
237 |
|
|
(gfc_add_protected): New function.
|
238 |
|
|
(gfc_copy_attr): Copy PROTECTED attribute.
|
239 |
|
|
* decl.c (match_attr_spec): Add PROTECTED support.
|
240 |
|
|
(gfc_match_protected): New function.
|
241 |
|
|
* dump-parse-tree.c (gfc_show_attr): Add PROTECTED support.
|
242 |
|
|
* gfortran.h (gfc_symbol): Add protected flag.
|
243 |
|
|
Add gfc_add_protected prototype.
|
244 |
|
|
* expr.c (gfc_check_pointer_assign): Add PROTECTED support.
|
245 |
|
|
* module.c (ab_attribute, attr_bits, mio_symbol_attribute,
|
246 |
|
|
mio_symbol_attribute): Add PROTECTED support.
|
247 |
|
|
* resolve.c (resolve_equivalence): Add PROTECTED support.
|
248 |
|
|
* match.c (gfc_match_assignment,gfc_match_pointer_assignment):
|
249 |
|
|
Check PROTECTED attribute.
|
250 |
|
|
* match.h: Add gfc_match_protected prototype.
|
251 |
|
|
* parse.c (decode_statement): Match PROTECTED statement.
|
252 |
|
|
* primary.c (match_variable): Add PROTECTED support.
|
253 |
|
|
|
254 |
|
|
2006-12-09 Paul Thomas
|
255 |
|
|
|
256 |
|
|
PR fortran/29975
|
257 |
|
|
PR fortran/30068
|
258 |
|
|
PR fortran/30096
|
259 |
|
|
* interface.c (compare_type_rank_if): Reject invalid generic
|
260 |
|
|
interfaces.
|
261 |
|
|
(check_interface1): Give a warning for nonreferred to ambiguous
|
262 |
|
|
interfaces.
|
263 |
|
|
(check_sym_interfaces): Check whether an ambiguous interface is
|
264 |
|
|
referred to. Do not check host associated interfaces since these
|
265 |
|
|
cannot be ambiguous with the local versions.
|
266 |
|
|
(check_uop_interface, gfc_check_interfaces): Update call to
|
267 |
|
|
check_interface1.
|
268 |
|
|
* symbol.c (gfc_get_sym_tree, gfc_get_sym_tree): Allow adding
|
269 |
|
|
unambiguous procedures to generic interfaces.
|
270 |
|
|
* gfortran.h (symbol_attribute): Added use_only and
|
271 |
|
|
ambiguous_interfaces.
|
272 |
|
|
* module.c (load_need): Set the use_only flag, if needed.
|
273 |
|
|
* resolve.c (resolve_fl_procedure): Warn for nonreferred
|
274 |
|
|
interfaces.
|
275 |
|
|
* expr.c (find_array_section): Fix initializer array contructor.
|
276 |
|
|
|
277 |
|
|
2006-12-09 Paul Thomas
|
278 |
|
|
|
279 |
|
|
PR fortran/29464
|
280 |
|
|
* module.c (load_generic_interfaces): Add symbols for all the
|
281 |
|
|
local names of an interface. Share the interface amongst the
|
282 |
|
|
symbols.
|
283 |
|
|
* gfortran.h : Add generic_copy to symbol_attribute.
|
284 |
|
|
* symbol.c (free_symbol): Only free interface if generic_copy
|
285 |
|
|
is not set.
|
286 |
|
|
|
287 |
|
|
2006-12-09 Paul Thomas
|
288 |
|
|
|
289 |
|
|
PR fortran/29941
|
290 |
|
|
* resolve.c (resolve_function): Add LEN to the functions not
|
291 |
|
|
checked for assumed size actual args.
|
292 |
|
|
|
293 |
|
|
2006-12-08 Tobias Burnus
|
294 |
|
|
|
295 |
|
|
PR fortran/27546
|
296 |
|
|
* trans-decl.c (gfc_create_module_variable): Allow imported
|
297 |
|
|
symbols in interface bodies in modules.
|
298 |
|
|
|
299 |
|
|
2006-12-06 Tobias Burnus
|
300 |
|
|
|
301 |
|
|
PR fortran/29711
|
302 |
|
|
* error.c (error_print): Fix handling of printf-style position
|
303 |
|
|
specifiers of the form "%3$d".
|
304 |
|
|
|
305 |
|
|
2006-12-05 Paul Thomas
|
306 |
|
|
|
307 |
|
|
PR fortran/30003
|
308 |
|
|
* trans-array.c (gfc_trans_create_temp_array): Set the section
|
309 |
|
|
ends to zero.
|
310 |
|
|
(gfc_conv_array_transpose): Likewise.
|
311 |
|
|
(gfc_conv_section_startstride): Declare an expression for end,
|
312 |
|
|
set it from a the array reference and evaluate it for the info
|
313 |
|
|
structure. Zero the ends in the ss structure and set end, used
|
314 |
|
|
in the bounds check, from the info structure.
|
315 |
|
|
trans.h: Add and end array to the gfc_ss_info structure.
|
316 |
|
|
|
317 |
|
|
2006-12-05 Paul Thomas
|
318 |
|
|
|
319 |
|
|
PR fortran/29912
|
320 |
|
|
* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
|
321 |
|
|
lhs and rhs character lengths are not constant and equal for
|
322 |
|
|
character array valued functions.
|
323 |
|
|
|
324 |
|
|
2006-12-04 Tobias Burnus
|
325 |
|
|
|
326 |
|
|
PR fortran/29962
|
327 |
|
|
* expr.c (check_intrinsic_op): Allow noninteger exponents for F2003.
|
328 |
|
|
|
329 |
|
|
2006-12-04 Paul Thomas
|
330 |
|
|
|
331 |
|
|
PR fortran/29821
|
332 |
|
|
* resolve.c (resolve_operator): Only return result of
|
333 |
|
|
gfc_simplify_expr if expression is constant.
|
334 |
|
|
|
335 |
|
|
2006-12-04 Paul Thomas
|
336 |
|
|
|
337 |
|
|
PR fortran/29916
|
338 |
|
|
* resolve.c (resolve_symbol): Allow host-associated variables
|
339 |
|
|
the specification expression of an array-valued function.
|
340 |
|
|
* expr.c (check_restricted): Accept host-associated dummy
|
341 |
|
|
array indices.
|
342 |
|
|
|
343 |
|
|
2006-12-03 Paul Thomas
|
344 |
|
|
|
345 |
|
|
PR fortran/29642
|
346 |
|
|
* trans-expr.c (gfc_conv_variable): A character expression with
|
347 |
|
|
the VALUE attribute needs an address expression; otherwise all
|
348 |
|
|
other expressions with this attribute must not be dereferenced.
|
349 |
|
|
(gfc_conv_function_call): Pass expressions with the VALUE
|
350 |
|
|
attribute by value, using gfc_conv_expr.
|
351 |
|
|
* symbol.c (check_conflict): Add strings for INTENT OUT, INOUT
|
352 |
|
|
and VALUE. Apply all the constraints associated with the VALUE
|
353 |
|
|
attribute.
|
354 |
|
|
(gfc_add_value): New function.
|
355 |
|
|
(gfc_copy_attr): Call it for VALUE attribute.
|
356 |
|
|
* decl.c (match_attr_spec): Include the VALUE attribute.
|
357 |
|
|
(gfc_match_value): New function.
|
358 |
|
|
* dump-parse-tree.c (gfc_show_attr): Include VALUE.
|
359 |
|
|
* gfortran.h : Add value to the symbol_attribute structure and
|
360 |
|
|
add a prototype for gfc_add_value
|
361 |
|
|
* module.c (mio_internal_string): Include AB_VALUE in enum.
|
362 |
|
|
(attr_bits): Provide the VALUE string for it.
|
363 |
|
|
(mio_symbol_attribute): Read or apply the VLUE attribute.
|
364 |
|
|
* trans-types.c (gfc_sym_type): Variables with the VLAUE
|
365 |
|
|
attribute are not passed by reference!
|
366 |
|
|
* resolve.c (was_declared): Add value to those that return 1.
|
367 |
|
|
(resolve_symbol): Value attribute requires dummy attribute.
|
368 |
|
|
* match.h : Add prototype for gfc_match_public.
|
369 |
|
|
* parse.c (decode_statement): Try to match a VALUE statement.
|
370 |
|
|
|
371 |
|
|
2006-12-01 Thomas Koenig
|
372 |
|
|
|
373 |
|
|
PR libfortran/29568
|
374 |
|
|
* gfortran.h (gfc_option_t): Add max_subrecord_length.
|
375 |
|
|
(top level): Define MAX_SUBRECORD_LENGTH.
|
376 |
|
|
* lang.opt: Add option -fmax-subrecord-length=.
|
377 |
|
|
* trans-decl.c: Add new function set_max_subrecord_length.
|
378 |
|
|
(gfc_generate_function_code): If we are within the main
|
379 |
|
|
program and max_subrecord_length has been set, call
|
380 |
|
|
set_max_subrecord_length.
|
381 |
|
|
* options.c (gfc_init_options): Add defaults for
|
382 |
|
|
max_subrecord_lenght, convert and record_marker.
|
383 |
|
|
(gfc_handle_option): Add handling for
|
384 |
|
|
-fmax_subrecord_length.
|
385 |
|
|
* invoke.texi: Document the new default for
|
386 |
|
|
-frecord-marker=.
|
387 |
|
|
|
388 |
|
|
2006-11-28 Paul Thomas
|
389 |
|
|
|
390 |
|
|
PR fortran/29976
|
391 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Remove build_int_const
|
392 |
|
|
and replace with cast to type of se->expr of integer_zero_node.
|
393 |
|
|
|
394 |
|
|
2006-11-28 Paul Thomas
|
395 |
|
|
|
396 |
|
|
PR fortran/20880
|
397 |
|
|
* resolve.c (resolve_fl_procedure): Error if procedure is
|
398 |
|
|
ambiguous modified to require attr.referenced.
|
399 |
|
|
|
400 |
|
|
2006-11-26 Francois-Xavier Coudert
|
401 |
|
|
|
402 |
|
|
PR fortran/29892
|
403 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
|
404 |
|
|
the call to gfc_trans_runtime_check.
|
405 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Try harder to find
|
406 |
|
|
the variable or function name for the runtime error message.
|
407 |
|
|
(gfc_trans_dummy_array_bias): Use a locus in the call to
|
408 |
|
|
gfc_trans_runtime_check
|
409 |
|
|
|
410 |
|
|
2006-11-26 Andrew Pinski
|
411 |
|
|
|
412 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Mark the
|
413 |
|
|
pow functions as constant functions.
|
414 |
|
|
|
415 |
|
|
2006-11-25 Andrew Pinski
|
416 |
|
|
|
417 |
|
|
PR fortran/29982
|
418 |
|
|
* trans-expr.c (gfc_conv_expr_reference): Strip off NOP_EXPRs.
|
419 |
|
|
|
420 |
|
|
2006-11-25 Andrew Pinski
|
421 |
|
|
|
422 |
|
|
PR fortran/29951
|
423 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Change to
|
424 |
|
|
call memcpy instead of creating a VIEW_CONVERT_EXRP.
|
425 |
|
|
|
426 |
|
|
2006-11-25 Francois-Xavier Coudert
|
427 |
|
|
|
428 |
|
|
PR fortran/29711
|
429 |
|
|
* error.c (error_print): Handle printf-style position specifiers,
|
430 |
|
|
of the form "%3$d".
|
431 |
|
|
|
432 |
|
|
2006-11-24 Paul Thomas
|
433 |
|
|
|
434 |
|
|
PR fortran/20880
|
435 |
|
|
* parse.c (parse_interface): Error if procedure name is that of
|
436 |
|
|
encompassing scope.
|
437 |
|
|
* resolve.c (resolve_fl_procedure): Error if procedure is
|
438 |
|
|
ambiguous.
|
439 |
|
|
|
440 |
|
|
PR fortran/29387
|
441 |
|
|
* interface.c (compare_actual_formal): Add missing condition
|
442 |
|
|
that 'where' be present for error that asserts that actual
|
443 |
|
|
arguments be definable.
|
444 |
|
|
|
445 |
|
|
2006-11-24 Francois-Xavier Coudert
|
446 |
|
|
|
447 |
|
|
* resolve.c (resolve_actual_arglist): Remove the special case for
|
448 |
|
|
CHAR.
|
449 |
|
|
* intrinsic.c (add_functions): Remove the special case for CHAR.
|
450 |
|
|
|
451 |
|
|
2006-11-22 Tobias Schlueter
|
452 |
|
|
|
453 |
|
|
PR fortran/29441
|
454 |
|
|
* intrinsic.c (gfc_intrinsic_func_interface): Always check if
|
455 |
|
|
intrinsic is allowed in initialization expression.
|
456 |
|
|
|
457 |
|
|
2006-11-22 Paul Thomas
|
458 |
|
|
|
459 |
|
|
PR fortran/25087
|
460 |
|
|
* resolve.c (resolve_fl_procedure): Add an error if an external
|
461 |
|
|
automatic character length function does not have an explicit
|
462 |
|
|
interface.
|
463 |
|
|
|
464 |
|
|
2006-11-22 Paul Thomas
|
465 |
|
|
|
466 |
|
|
PR fortran/29652
|
467 |
|
|
* interface.c (check_interface1): Use a local value, instead of
|
468 |
|
|
the dummy, as the inner iterator over interface symbols.
|
469 |
|
|
|
470 |
|
|
2006-11-21 Paul Thomas
|
471 |
|
|
|
472 |
|
|
PR fortran/29820
|
473 |
|
|
* trans-array.c (gfc_get_derived_type): Once done, spread the
|
474 |
|
|
backend_decl to all identical derived types in all sibling
|
475 |
|
|
namespaces.
|
476 |
|
|
|
477 |
|
|
2006-11-20 Tobias Burnus
|
478 |
|
|
|
479 |
|
|
PR fortran/27546
|
480 |
|
|
* primary.c (gfc_match_rvalue): Added IMPORT support.
|
481 |
|
|
|
482 |
|
|
2006-11-20 Tobias Burnus
|
483 |
|
|
|
484 |
|
|
* symbol.c (check_conflict): Add conflict between VOLATILE
|
485 |
|
|
attribute and program name.
|
486 |
|
|
|
487 |
|
|
2006-11-20 Bernhard Fischer
|
488 |
|
|
|
489 |
|
|
PR fortran/24783
|
490 |
|
|
* resolve.c (resolve_variable): Get the implicit type from the
|
491 |
|
|
symbols namespace rather than the default namespace. Fix whitespace.
|
492 |
|
|
(resolve_formal_arglist, resolve_equivalence): Fix typo.
|
493 |
|
|
|
494 |
|
|
2006-11-19 Erik Edelmann
|
495 |
|
|
|
496 |
|
|
* resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
|
497 |
|
|
nonzero rank part references too.
|
498 |
|
|
|
499 |
|
|
2006-11-19 Francois-Xavier Coudert
|
500 |
|
|
|
501 |
|
|
* module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
|
502 |
|
|
Check that intrinsic and non-intrinsic modules don't conflict.
|
503 |
|
|
(use_iso_fortran_env_module): New function.
|
504 |
|
|
(create_int_parameter): New function.
|
505 |
|
|
* trans-types.c (gfc_init_kinds): Choose values for
|
506 |
|
|
gfc_numeric_storage_size and gfc_character_storage_size.
|
507 |
|
|
(gfc_numeric_storage_size, gfc_character_storage_size): New variables.
|
508 |
|
|
* resolve.c (resolve_symbol): Do no check intrinsic modules
|
509 |
|
|
against the list of intrinsic symbols.
|
510 |
|
|
* iso-fortran-env.def: New file.
|
511 |
|
|
* gfortran.h (gfc_numeric_storage_size,
|
512 |
|
|
gfc_character_storage_size): Add prototypes.
|
513 |
|
|
|
514 |
|
|
2006-11-18 Francois-Xavier Coudert
|
515 |
|
|
|
516 |
|
|
PR fortran/24285
|
517 |
|
|
* io.c (check_format): Allow dollars everywhere in format, and
|
518 |
|
|
issue a warning.
|
519 |
|
|
|
520 |
|
|
2006-11-17 Francois-Xavier Coudert
|
521 |
|
|
|
522 |
|
|
* gfortran.h (gfc_add_intrinsic_modules_path,
|
523 |
|
|
gfc_open_intrinsic_module): New prototypes.
|
524 |
|
|
(gfc_add_include_path, gfc_open_included_file): Update prototypes.
|
525 |
|
|
* lang.opt: Add -fintrinsic-modules-path option.
|
526 |
|
|
* module.c (gfc_match_use): Match the Fortran 2003 form of
|
527 |
|
|
USE statement.
|
528 |
|
|
(gfc_use_module): Also handle intrinsic modules.
|
529 |
|
|
* scanner.c (gfc_directorylist): Add use_for_modules for field.
|
530 |
|
|
(intrinsic_modules_dirs): New static variable.
|
531 |
|
|
(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
|
532 |
|
|
(gfc_add_include_path): Use the new add_path_to_list helper
|
533 |
|
|
function.
|
534 |
|
|
(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
|
535 |
|
|
(open_included_file, gfc_open_intrinsic_module): New functions.
|
536 |
|
|
(gfc_open_included_file): Use the new open_included_file
|
537 |
|
|
helper function.
|
538 |
|
|
* lang-specs.h: Use the new -fintrinsic-modules-path option.
|
539 |
|
|
* parse.c (decode_statement): Do not match the required space
|
540 |
|
|
after USE here.
|
541 |
|
|
* options.c (gfc_handle_option): Handle the new option. Use new
|
542 |
|
|
prototype for gfc_add_include_path.
|
543 |
|
|
(gfc_post_options): Use new prototype for gfc_add_include_path.
|
544 |
|
|
|
545 |
|
|
2006-11-16 Francois-Xavier Coudert
|
546 |
|
|
|
547 |
|
|
PR fortran/29391
|
548 |
|
|
PR fortran/29489
|
549 |
|
|
* simplify.c (simplify_bound): Fix the simplification of
|
550 |
|
|
LBOUND/UBOUND intrinsics.
|
551 |
|
|
* trans-intrinsic.c (simplify_bound): Fix the logic, and
|
552 |
|
|
remove an erroneous assert.
|
553 |
|
|
|
554 |
|
|
2006-11-16 Francois-Xavier Coudert
|
555 |
|
|
|
556 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Fix formatting.
|
557 |
|
|
|
558 |
|
|
2006-11-15 Brooks Moses
|
559 |
|
|
|
560 |
|
|
* data.c: Remove trailing periods from error messages.
|
561 |
|
|
* decl.c: Likewise.
|
562 |
|
|
* expr.c: Likewise.
|
563 |
|
|
* io.c: Likewise.
|
564 |
|
|
* match.c: Likewise.
|
565 |
|
|
* module.c: Likewise.
|
566 |
|
|
* options.c: Likewise.
|
567 |
|
|
* resolve.c: Likewise.
|
568 |
|
|
* symbol.c: Likewise.
|
569 |
|
|
* trans-io.c: Likewise.
|
570 |
|
|
|
571 |
|
|
2006-11-15 Brooks Moses
|
572 |
|
|
|
573 |
|
|
* lang.opt: Rearrange entries back into ASCII order.
|
574 |
|
|
|
575 |
|
|
2006-11-15 Tobias Burnus
|
576 |
|
|
|
577 |
|
|
* parse.c (parse_contained): Fix indention
|
578 |
|
|
of one line.
|
579 |
|
|
|
580 |
|
|
2006-11-15 Tobias Burnus
|
581 |
|
|
|
582 |
|
|
PR fortran/27546
|
583 |
|
|
* decl.c (gfc_match_import,variable_decl):
|
584 |
|
|
Add IMPORT support.
|
585 |
|
|
(gfc_match_kind_spec): Fix typo in gfc_error.
|
586 |
|
|
* gfortran.h (gfc_namespace, gfc_statement):
|
587 |
|
|
Add IMPORT support.
|
588 |
|
|
* parse.c (decode_statement,gfc_ascii_statement,
|
589 |
|
|
verify_st_order): Add IMPORT support.
|
590 |
|
|
* match.h: Add gfc_match_import.
|
591 |
|
|
* gfortran.texi: Add IMPORT to the supported
|
592 |
|
|
Fortran 2003 features.
|
593 |
|
|
|
594 |
|
|
2006-11-15 Tobias Burnus
|
595 |
|
|
Francois-Xavier Coudert
|
596 |
|
|
|
597 |
|
|
PR fortran/27588
|
598 |
|
|
* trans-expr.c (gfc_conv_substring): Add bounds checking.
|
599 |
|
|
(gfc_conv_variable, gfc_conv_substring_expr): Pass more
|
600 |
|
|
arguments to gfc_conv_substring.
|
601 |
|
|
|
602 |
|
|
2006-11-15 Tobias Burnus
|
603 |
|
|
|
604 |
|
|
PR fortran/29806
|
605 |
|
|
* parse.c (parse_contained): Check for empty contains statement.
|
606 |
|
|
|
607 |
|
|
2006-11-15 Bud Davis
|
608 |
|
|
|
609 |
|
|
PR fortran/28974
|
610 |
|
|
* gfortran.h (gfc_expr): Add element which holds a splay-tree
|
611 |
|
|
for the exclusive purpose of quick access to a constructor by
|
612 |
|
|
offset.
|
613 |
|
|
* data.c (find_con_by_offset): Use the splay tree for the search.
|
614 |
|
|
(gfc_assign_data_value): Use the splay tree.
|
615 |
|
|
(gfc_assign_data_value_range): ditto.
|
616 |
|
|
* expr.c (gfc_get_expr): Initialize new element to null.
|
617 |
|
|
(gfc_free_expr): Delete splay tree when deleting gfc_expr.
|
618 |
|
|
|
619 |
|
|
2006-11-14 Brooks Moses
|
620 |
|
|
|
621 |
|
|
PR fortran/29702
|
622 |
|
|
* error.c (show_loci): Move column-offset calculation to
|
623 |
|
|
show_locus.
|
624 |
|
|
(show_locus): Remove blank lines before "Included in"
|
625 |
|
|
lines, clean up code, calculate column-offsets, print
|
626 |
|
|
column number is error-header lines as appropriate.
|
627 |
|
|
(error_integer): (new function) Print integer to error
|
628 |
|
|
buffer.
|
629 |
|
|
(error_print): Use error_integer, avoid possible buffer
|
630 |
|
|
overflows from buggy error formats.
|
631 |
|
|
|
632 |
|
|
2006-11-14 Brooks Moses
|
633 |
|
|
|
634 |
|
|
* gfortran.h (GFC_MAX_LINE): Remove constant definition.
|
635 |
|
|
(gfc_option_t): Clarify comments.
|
636 |
|
|
* options.c: Set default line length limits to actual default
|
637 |
|
|
values, rather than flag values.
|
638 |
|
|
* scanner.c: Eliminate checking and handling of the
|
639 |
|
|
fixed/free_line_length flag values.
|
640 |
|
|
|
641 |
|
|
2006-11-14 Brooks Moses
|
642 |
|
|
|
643 |
|
|
* lang.opt: Remove -fno-backend option.
|
644 |
|
|
* gfortran.h (gfc_option_t): Remove flag_no_backend.
|
645 |
|
|
* options.c (gfc_init_options): Remove flag_no_backend.
|
646 |
|
|
(gfc_handle_option): Remove -fno-backend option handler.
|
647 |
|
|
* parse.c (gfc_parse_file): Remove references to
|
648 |
|
|
gfc_option.flag_no_backend.
|
649 |
|
|
|
650 |
|
|
2006-11-14 Tobias Burnus
|
651 |
|
|
|
652 |
|
|
* match.c (gfc_match_namelist): Add missing space to
|
653 |
|
|
error message.
|
654 |
|
|
|
655 |
|
|
2006-11-14 Tobias Burnus
|
656 |
|
|
|
657 |
|
|
PR fortran/29657
|
658 |
|
|
* symbol.c (check_conflict): Add further conflicts.
|
659 |
|
|
|
660 |
|
|
2006-11-13 Jakub Jelinek
|
661 |
|
|
|
662 |
|
|
PR fortran/29759
|
663 |
|
|
* fortran/scanner.c (skip_free_comments): Clear openmp_flag
|
664 |
|
|
before returning true.
|
665 |
|
|
|
666 |
|
|
2006-11-12 Andrew Pinski
|
667 |
|
|
|
668 |
|
|
PR fortran/26994
|
669 |
|
|
* trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
|
670 |
|
|
new CONST_DECL.
|
671 |
|
|
|
672 |
|
|
2006-11-11 Tobias Schlüter
|
673 |
|
|
|
674 |
|
|
* array.c: Add 2006 to copyright years.
|
675 |
|
|
* data.c: Same.
|
676 |
|
|
* interface.c: Same.
|
677 |
|
|
* misc.c: Same.
|
678 |
|
|
* trans-io.c: Same.
|
679 |
|
|
|
680 |
|
|
2006-11-11 Richard Guenther
|
681 |
|
|
|
682 |
|
|
* trans-intrinsic.c (enum rounding_mode): New enum.
|
683 |
|
|
(build_fix_expr, gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
|
684 |
|
|
gfc_conv_intrinsic_function): Use it instead of FIX_CEIL_EXPR,
|
685 |
|
|
FIX_FLOOR_EXPR, FIX_ROUND_EXPR and FIX_TRUNC_EXPR.
|
686 |
|
|
|
687 |
|
|
2006-11-10 Brooks Moses
|
688 |
|
|
|
689 |
|
|
* lang.opt (-fmodule-private): Remove option.
|
690 |
|
|
* gfortran.h (gfc_option_t): Remove module_access_private flag.
|
691 |
|
|
* options.c (gfc_init_options): Remove initialization for it.
|
692 |
|
|
(gfc_handle_option): Remove handling for -fmodule-private.
|
693 |
|
|
* module.c (gfc_check_access): Add comments, remove check for
|
694 |
|
|
gfc_option.flag_module_access_private.
|
695 |
|
|
|
696 |
|
|
2006-11-10 Paul Thomas
|
697 |
|
|
|
698 |
|
|
PR fortran/29758
|
699 |
|
|
* check.c (gfc_check_reshape): Check that there are enough
|
700 |
|
|
elements in the source array as to be able to fill an array
|
701 |
|
|
defined by shape, when pad is absent.
|
702 |
|
|
|
703 |
|
|
2006-11-10 Paul Thomas
|
704 |
|
|
|
705 |
|
|
PR fortran/29315
|
706 |
|
|
* trans-expr.c (is_aliased_array): Treat correctly the case where the
|
707 |
|
|
component is itself and array or array reference.
|
708 |
|
|
|
709 |
|
|
2006-11-09 Brooks Moses
|
710 |
|
|
|
711 |
|
|
* check.c (same_type_check): Typo fix in comment.
|
712 |
|
|
|
713 |
|
|
2006-11-09 Paul Thomas
|
714 |
|
|
|
715 |
|
|
PR fortran/29431
|
716 |
|
|
* trans-array.c (get_array_ctor_strlen): If we fall through to
|
717 |
|
|
default, use a constant character length if it is available.
|
718 |
|
|
|
719 |
|
|
2006-11-09 Paul Thomas
|
720 |
|
|
|
721 |
|
|
PR fortran/29744
|
722 |
|
|
* trans-types.c (gfc_get_derived_type): Ensure that the
|
723 |
|
|
proc_name namespace is not the same as the owner namespace and
|
724 |
|
|
that identical derived types in the same namespace share the
|
725 |
|
|
same backend_decl.
|
726 |
|
|
|
727 |
|
|
2006-11-09 Paul Thomas
|
728 |
|
|
|
729 |
|
|
PR fortran/29699
|
730 |
|
|
* trans-array.c (structure_alloc_comps): Detect pointers to
|
731 |
|
|
arrays and use indirect reference to declaration.
|
732 |
|
|
* resolve.c (resolve_fl_variable): Tidy up condition.
|
733 |
|
|
(resolve_symbol): The same and only add initialization code if
|
734 |
|
|
the symbol is referenced.
|
735 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
|
736 |
|
|
deferred_array before gfc_trans_auto_array_allocation.
|
737 |
|
|
|
738 |
|
|
PR fortran/21370
|
739 |
|
|
* symbol.c (check_done): Remove.
|
740 |
|
|
(gfc_add_attribute): Remove reference to check_done and remove
|
741 |
|
|
the argument attr_intent.
|
742 |
|
|
(gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
|
743 |
|
|
gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
|
744 |
|
|
gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
|
745 |
|
|
gfc_add_target, gfc_add_in_common, gfc_add_elemental,
|
746 |
|
|
gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
|
747 |
|
|
gfc_add_type): Remove references to check_done.
|
748 |
|
|
* decl.c (attr_decl1): Eliminate third argument in call to
|
749 |
|
|
gfc_add_attribute.
|
750 |
|
|
* gfortran.h : Change prototype for gfc_add_attribute.
|
751 |
|
|
|
752 |
|
|
2006-11-08 Brooks Moses
|
753 |
|
|
|
754 |
|
|
* invoke.texi: Added documentation for -fmax-errors option.
|
755 |
|
|
|
756 |
|
|
2006-11-08 Brooks Moses
|
757 |
|
|
|
758 |
|
|
* lang.opt: Add -fmax-errors= option.
|
759 |
|
|
* gfortran.h (gfc_option_t): Add max_errors element.
|
760 |
|
|
* options.c (gfc_init_options): Set max_errors default value
|
761 |
|
|
to 25.
|
762 |
|
|
(gfc_handle_options): Assign -fmax_errors value to
|
763 |
|
|
gfc_option.max_errors.
|
764 |
|
|
* error.c (gfc_increment_error_count): New function, which
|
765 |
|
|
also checks whether the error count exceeds max_errors.
|
766 |
|
|
(gfc_warning): Use it.
|
767 |
|
|
(gfc_warning_now): Use it.
|
768 |
|
|
(gfc_notify_std): Use it.
|
769 |
|
|
(gfc_error): Use it.
|
770 |
|
|
(gfc_error_now): Use it.
|
771 |
|
|
(gfc_error_check): Use it.
|
772 |
|
|
|
773 |
|
|
2006-11-08 Brooks Moses
|
774 |
|
|
|
775 |
|
|
* lang.opt: Remove non-working -qkind= option.
|
776 |
|
|
* gfortran.h (gfc_option_t): Remove q_kind member.
|
777 |
|
|
* options.c (gfc_init_options): Remove q_kind initialization.
|
778 |
|
|
(gfc_handle_option): Remove -qkind= option handling.
|
779 |
|
|
* primary.c: (match_real_constant): Remove 'Q' exponent.
|
780 |
|
|
|
781 |
|
|
2006-11-08 Tobias Burnus
|
782 |
|
|
|
783 |
|
|
* gfortran.texi: Add volatile and internal-file
|
784 |
|
|
namelist to Fortran 2003 status.
|
785 |
|
|
* intrinsic.texi: Correct CHMOD entry.
|
786 |
|
|
|
787 |
|
|
2006-11-07 Paul Thomas
|
788 |
|
|
|
789 |
|
|
PR fortran/29539
|
790 |
|
|
PR fortran/29634
|
791 |
|
|
* decl.c (variable_decl): Add test for presence of proc_name.
|
792 |
|
|
* error.c (gfc_error_flag_test): New function.
|
793 |
|
|
* gfortran.h : Prototype for gfc_error_flag_test.
|
794 |
|
|
|
795 |
|
|
2006-11-07 Tobias Burnus
|
796 |
|
|
|
797 |
|
|
PR fortran/29601
|
798 |
|
|
* symbol.c (check_conflict, gfc_add_volatile): Add volatile support.
|
799 |
|
|
* decl.c (match_attr_spec, gfc_match_volatile): Add volatile support.
|
800 |
|
|
* gfortran.h (symbol_attribute): Add volatile_ to struct.
|
801 |
|
|
* resolve.c (was_declared): Add volatile support.
|
802 |
|
|
* trans-decl.c (gfc_finish_var_decl): Add volatile support.
|
803 |
|
|
* match.h: Declare gfc_match_volatile.
|
804 |
|
|
* parse.c (decode_statement): Recognize volatile.
|
805 |
|
|
* modules.c (ab_attribute, attr_bits, mio_symbol_attribute):
|
806 |
|
|
Add volatile support.
|
807 |
|
|
* dump-parse-tree.c (gfc_show_attr): Add volatile support.
|
808 |
|
|
|
809 |
|
|
2006-11-06 Tobias Burnus
|
810 |
|
|
|
811 |
|
|
* decl.c (match_attr_spec, gfc_match_enum): Unify gfc_notify_std
|
812 |
|
|
message for GFC_STD_F2003.
|
813 |
|
|
* array.c (gfc_match_array_constructor): Unify gfc_notify_std
|
814 |
|
|
message for GFC_STD_F2003.
|
815 |
|
|
* io.c (check_io_constraints): Unify gfc_notify_std message for
|
816 |
|
|
GFC_STD_F2003.
|
817 |
|
|
* resolve.c (resolve_actual_arglist): Unify gfc_notify_std message
|
818 |
|
|
for GFC_STD_F2003.
|
819 |
|
|
|
820 |
|
|
2006-11-06 Brooks Moses
|
821 |
|
|
|
822 |
|
|
* intrinsic.texi: Added documentation for FTELL, GETLOG, and
|
823 |
|
|
HOSTNM intrinsics.
|
824 |
|
|
|
825 |
|
|
2006-11-06 Erik Edelmann
|
826 |
|
|
|
827 |
|
|
PR fortran/29630
|
828 |
|
|
PR fortran/29679
|
829 |
|
|
* expr.c (find_array_section): Support vector subscripts. Don't
|
830 |
|
|
add sizes for dimen_type == DIMEN_ELEMENT to the shape array.
|
831 |
|
|
|
832 |
|
|
2006-11-05 Bernhard Fischer
|
833 |
|
|
|
834 |
|
|
PR fortran/21061
|
835 |
|
|
* error.c (gfc_warning): If warnings_are_errors then treat
|
836 |
|
|
warnings as errors with respect to the exit code.
|
837 |
|
|
(gfc_notify_std): Ditto.
|
838 |
|
|
(gfc_warning_now): Ditto.
|
839 |
|
|
|
840 |
|
|
2006-11-05 Francois-Xavier Coudert
|
841 |
|
|
Paul Thomas
|
842 |
|
|
|
843 |
|
|
PR fortran/24518
|
844 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
|
845 |
|
|
for both MOD and MODULO, if it is available.
|
846 |
|
|
|
847 |
|
|
PR fortran/29565
|
848 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
|
849 |
|
|
the declarations from the unused loops by merging the block
|
850 |
|
|
scope for each; this ensures that the temporary is declared.
|
851 |
|
|
|
852 |
|
|
2006-11-04 Brooks Moses
|
853 |
|
|
|
854 |
|
|
* error.c (show_locus): Add trailing colon in error messages.
|
855 |
|
|
(error_print): Avoid leading space in error lines.
|
856 |
|
|
|
857 |
|
|
2006-11-04 Francois-Xavier Coudert
|
858 |
|
|
|
859 |
|
|
PR fortran/29713
|
860 |
|
|
* expr.c (gfc_simplify_expr): Correct memory allocation.
|
861 |
|
|
|
862 |
|
|
2006-11-02 Brooks Moses
|
863 |
|
|
|
864 |
|
|
* error.c (show_locus): Remove "In file" from error messages.
|
865 |
|
|
|
866 |
|
|
2006-10-31 Geoffrey Keating
|
867 |
|
|
|
868 |
|
|
* trans-decl.c (gfc_generate_constructors): Update for removal
|
869 |
|
|
of get_file_function_name.
|
870 |
|
|
|
871 |
|
|
2006-11-01 Bernhard Fischer
|
872 |
|
|
|
873 |
|
|
PR fortran/29537
|
874 |
|
|
* trans-common.c (gfc_trans_common): If the blank common is
|
875 |
|
|
in a procedure or program without a name then proc_name is null, so
|
876 |
|
|
use the locus of the common.
|
877 |
|
|
(gfc_sym_mangled_common_id): Fix whitespace.
|
878 |
|
|
* match.c (gfc_match_common): Emit warning about blank common in
|
879 |
|
|
block data.
|
880 |
|
|
|
881 |
|
|
2006-10-31 Francois-Xavier Coudert
|
882 |
|
|
|
883 |
|
|
PR fortran/29067
|
884 |
|
|
* decl.c (gfc_set_constant_character_len): NULL-terminate the
|
885 |
|
|
character constant string.
|
886 |
|
|
* data.c (create_character_intializer): Likewise.
|
887 |
|
|
* expr.c (gfc_simplify_expr): NULL-terminate the substring
|
888 |
|
|
character constant.
|
889 |
|
|
* primary.c (match_hollerith_constant): NULL-terminate the
|
890 |
|
|
character constant string.
|
891 |
|
|
|
892 |
|
|
2006-10-31 Paul Thomas
|
893 |
|
|
|
894 |
|
|
PR fortran/29387
|
895 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
|
896 |
|
|
a specific case for EXPR_VARIABLE and, in default, build an ss
|
897 |
|
|
to call gfc_conv_expr_descriptor for array expressions..
|
898 |
|
|
|
899 |
|
|
PR fortran/29490
|
900 |
|
|
* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
|
901 |
|
|
that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
|
902 |
|
|
values for it and GFC_TYPE_ARRAY_UBOUND.
|
903 |
|
|
|
904 |
|
|
PR fortran/29641
|
905 |
|
|
* trans-types.c (gfc_get_derived_type): If the derived type
|
906 |
|
|
namespace has neither a parent nor a proc_name, set NULL for
|
907 |
|
|
the search namespace.
|
908 |
|
|
|
909 |
|
|
2006-10-30 Tobias Burnus
|
910 |
|
|
|
911 |
|
|
PR fortran/29452
|
912 |
|
|
* io.c (check_io_constraints): Fix keyword string comparison.
|
913 |
|
|
|
914 |
|
|
2006-10-30 Andrew Pinski
|
915 |
|
|
|
916 |
|
|
PR fortran/29410
|
917 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer):
|
918 |
|
|
Change over to create VIEW_CONVERT_EXPR instead of using an
|
919 |
|
|
ADDR_EXPR, a cast and then an indirect reference
|
920 |
|
|
|
921 |
|
|
2006-10-29 Francois-Xavier Coudert
|
922 |
|
|
|
923 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
|
924 |
|
|
signed integer node.
|
925 |
|
|
|
926 |
|
|
2006-10-29 Jerry DeLisle
|
927 |
|
|
|
928 |
|
|
PR fortran/17741
|
929 |
|
|
* decl.c (get_proc_name): Bump current namespace refs count.
|
930 |
|
|
|
931 |
|
|
2006-10-29 Jakub Jelinek
|
932 |
|
|
|
933 |
|
|
PR fortran/29629
|
934 |
|
|
* trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
|
935 |
|
|
of init_val_sym and outer_sym to FL_VARIABLE.
|
936 |
|
|
|
937 |
|
|
2006-10-29 Kazu Hirata
|
938 |
|
|
|
939 |
|
|
* intrinsic.texi: Fix a typo.
|
940 |
|
|
|
941 |
|
|
2006-10-27 Steven G. Kargl
|
942 |
|
|
|
943 |
|
|
* gfortran.h: Remove GFC_MPFR_TOO_OLD.
|
944 |
|
|
* arith.c (arctangent2): Remove function
|
945 |
|
|
(gfc_check_real_range): Remove subnormal kludge.
|
946 |
|
|
* arith.h: Remove arctangent2 prototype.
|
947 |
|
|
* simplify.c: (gfc_simplify_atan2): Remove use of arctangent2.
|
948 |
|
|
(gfc_simplify_exponent, gfc_simplify_log, gfc_simplify_nearest,
|
949 |
|
|
gfc_simplify_rrspacing, gfc_simplify_spacing): Remove mpfr kludges.
|
950 |
|
|
|
951 |
|
|
2006-10-28 Tobias Burnus
|
952 |
|
|
|
953 |
|
|
PR fortran/28224
|
954 |
|
|
* io.c (check_io_constraints): Allow namelists
|
955 |
|
|
for internal files for Fortran 2003.
|
956 |
|
|
|
957 |
|
|
2006-10-27 Jerry DeLisle
|
958 |
|
|
|
959 |
|
|
PR fortran/27954
|
960 |
|
|
* decl.c (gfc_free_data_all): New function to free all data structures
|
961 |
|
|
after errors in DATA statements and declarations.
|
962 |
|
|
(top_var_list): Use new function.(top_val_list): Use new function.
|
963 |
|
|
(gfc_match_data_decl): Use new function.
|
964 |
|
|
* misc.c (gfc_typename): Fixed incorrect function name in error text.
|
965 |
|
|
|
966 |
|
|
2006-10-24 Erik Edelmann
|
967 |
|
|
|
968 |
|
|
PR fortran/29393
|
969 |
|
|
* expr.c (simplify_parameter_variable): Keep rank of original
|
970 |
|
|
expression.
|
971 |
|
|
|
972 |
|
|
2006-10-23 Rafael Ávila de Espíndola
|
973 |
|
|
|
974 |
|
|
* Make-lang.in (f951$(exeext)): Depend on and link with attribs.o.
|
975 |
|
|
* trans.h (builtin_function): Rename to gfc_builtin_function.
|
976 |
|
|
Change the signature.
|
977 |
|
|
* 95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
|
978 |
|
|
gfc_builtin_function.
|
979 |
|
|
(builtin_function): Rename to gfc_builtin_function. Move common
|
980 |
|
|
code to builtin_function.
|
981 |
|
|
(gfc_define_builtin): Replace calls to builtin_function with
|
982 |
|
|
gfc_define_builtin.
|
983 |
|
|
|
984 |
|
|
2006-10-22 Francois-Xavier Coudert
|
985 |
|
|
|
986 |
|
|
PR fortran/26025
|
987 |
|
|
* lang.opt: Add -fexternal-blas and -fblas-matmul-limit options.
|
988 |
|
|
* options.c (gfc_init_options): Initialize new flags.
|
989 |
|
|
(gfc_handle_option): Handle new flags.
|
990 |
|
|
* gfortran.h (gfc_option): Add flag_external_blas and
|
991 |
|
|
blas_matmul_limit flags.
|
992 |
|
|
* trans-expr.c (gfc_conv_function_call): Use new argument
|
993 |
|
|
append_args, appending it at the end of the argument list
|
994 |
|
|
built for a function call.
|
995 |
|
|
* trans-stmt.c (gfc_trans_call): Use NULL_TREE for the new
|
996 |
|
|
append_args argument to gfc_trans_call.
|
997 |
|
|
* trans.h (gfc_conv_function_call): Update prototype.
|
998 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Add
|
999 |
|
|
prototypes for BLAS ?gemm routines.
|
1000 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Generate the
|
1001 |
|
|
extra arguments given to the library matmul function, and give
|
1002 |
|
|
them to gfc_conv_function_call.
|
1003 |
|
|
* invoke.texi: Add documentation for -fexternal-blas and
|
1004 |
|
|
-fblas-matmul-limit.
|
1005 |
|
|
|
1006 |
|
|
2006-10-21 Kaveh R. Ghazi
|
1007 |
|
|
|
1008 |
|
|
* Make-lang.in (F95_LIBS): Delete.
|
1009 |
|
|
* f951$(exeext): Use $(LIBS) instead of $(F95_LIBS).
|
1010 |
|
|
* config-lang.in (need_gmp): Delete.
|
1011 |
|
|
|
1012 |
|
|
2006-10-19 Brooks Moses
|
1013 |
|
|
|
1014 |
|
|
* invoke.texi: Fixed "denormal" typo.
|
1015 |
|
|
|
1016 |
|
|
2006-10-19 Paul Thomas
|
1017 |
|
|
|
1018 |
|
|
PR fortran/29216
|
1019 |
|
|
PR fortran/29314
|
1020 |
|
|
* gfortran.h : Add EXEC_INIT_ASSIGN.
|
1021 |
|
|
* dump-parse-tree.c (gfc_show_code_node): The same.
|
1022 |
|
|
* trans-openmp.c (gfc_trans_omp_array_reduction): Set new
|
1023 |
|
|
argument for gfc_trans_assignment to false.
|
1024 |
|
|
* trans-stmt.c (gfc_trans_forall_1): The same.
|
1025 |
|
|
* trans-expr.c (gfc_conv_function_call, gfc_trans_assign,
|
1026 |
|
|
gfc_trans_arrayfunc_assign, gfc_trans_assignment): The
|
1027 |
|
|
same. In the latter function, use the new flag to stop
|
1028 |
|
|
the checking of the lhs for deallocation.
|
1029 |
|
|
(gfc_trans_init_assign): New function.
|
1030 |
|
|
* trans-stmt.h : Add prototype for gfc_trans_init_assign.
|
1031 |
|
|
* trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN.
|
1032 |
|
|
* trans.h : Add new boolean argument to the prototype of
|
1033 |
|
|
gfc_trans_assignment.
|
1034 |
|
|
* resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by
|
1035 |
|
|
EXEC_INIT_ASSIGN.
|
1036 |
|
|
(resolve_code): EXEC_INIT_ASSIGN does not need resolution.
|
1037 |
|
|
(apply_default_init): New function.
|
1038 |
|
|
(resolve_symbol): Call it for derived types that become
|
1039 |
|
|
defined but which do not already have an initialization
|
1040 |
|
|
expression..
|
1041 |
|
|
* st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN.
|
1042 |
|
|
|
1043 |
|
|
2006-10-16 Tobias Burnus
|
1044 |
|
|
|
1045 |
|
|
* primary.c: Revert 'significand'-to-'significant' comment change.
|
1046 |
|
|
* invoke.texi (Warning Options): Minor cleanup for
|
1047 |
|
|
-Wimplicit-interface.
|
1048 |
|
|
|
1049 |
|
|
2006-10-17 Paul Thomas
|
1050 |
|
|
|
1051 |
|
|
PR fortran/29451
|
1052 |
|
|
* trans-array.c (gfc_trans_array_bounds): Test for and set
|
1053 |
|
|
negative stride of a non-constant bound array to zero.
|
1054 |
|
|
|
1055 |
|
|
PR fortran/29392
|
1056 |
|
|
* data.c (create_character_intializer): Copy and simplify
|
1057 |
|
|
the expressions for the start and end of a sub-string
|
1058 |
|
|
reference.
|
1059 |
|
|
|
1060 |
|
|
2006-10-16 Kaz Kojima
|
1061 |
|
|
|
1062 |
|
|
* io.c (gfc_match_close): Ensure that status is terminated by
|
1063 |
|
|
a NULL element.
|
1064 |
|
|
|
1065 |
|
|
2006-10-16 Tobias Burnus
|
1066 |
|
|
|
1067 |
|
|
* trans-stmt.c: Fix a typo
|
1068 |
|
|
* invoke.texi: Fix typos
|
1069 |
|
|
* resolve.c: Fix a comment typo
|
1070 |
|
|
* trans-decl.c: Fix a comment typo
|
1071 |
|
|
* primary.c: Fix a comment typo
|
1072 |
|
|
|
1073 |
|
|
2006-10-15 Steven G. Kargl
|
1074 |
|
|
|
1075 |
|
|
PR fortran/29403
|
1076 |
|
|
* io.c (match_io): Check for a default-char-expr for PRINT format.
|
1077 |
|
|
|
1078 |
|
|
2006-10-15 Bernhard Fischer
|
1079 |
|
|
|
1080 |
|
|
PR fortran/24767
|
1081 |
|
|
* lang.opt (Wunused-labels): Remove.
|
1082 |
|
|
* options.c: Remove references to gfc_option.warn_unused_labels.
|
1083 |
|
|
* gfortran.h: Remove variable warn_unused_labels.
|
1084 |
|
|
* resolve.c (warn_unused_fortran_label) : Use warn_unused_label
|
1085 |
|
|
instead of gfc_option.warn_unused_labels.
|
1086 |
|
|
* invoke.texi: Remove documentation of -Wunused-labels.
|
1087 |
|
|
|
1088 |
|
|
2006-10-14 Tobias Burnus
|
1089 |
|
|
|
1090 |
|
|
* gfortran.texi: Add link to GFortran apps
|
1091 |
|
|
* intrinsic.texi: Updated documentation of ACCESS and CHMOD
|
1092 |
|
|
|
1093 |
|
|
2006-10-14 Jerry DeLisle
|
1094 |
|
|
|
1095 |
|
|
PR fortran/19261
|
1096 |
|
|
* scanner.c (load_line): Add checks for illegal use of '&' and issue
|
1097 |
|
|
warnings. Issue errors with -pedantic.
|
1098 |
|
|
|
1099 |
|
|
2006-10-14 Paul Thomas
|
1100 |
|
|
|
1101 |
|
|
PR fortran/29371
|
1102 |
|
|
* trans-expr.c (gfc_trans_pointer_assignment): Add the expression
|
1103 |
|
|
for the assignment of null to the data field to se->pre, rather
|
1104 |
|
|
than block.
|
1105 |
|
|
|
1106 |
|
|
2006-10-14 Kazu Hirata
|
1107 |
|
|
|
1108 |
|
|
* intrinsic.texi: Fix typos.
|
1109 |
|
|
* trans-array.c: Fix a comment typo.
|
1110 |
|
|
|
1111 |
|
|
2006-10-13 Brooks Moses
|
1112 |
|
|
|
1113 |
|
|
* intrinsic.texi (STAT): Reverted a format in example code to
|
1114 |
|
|
octal; noted this in accompanying string.
|
1115 |
|
|
|
1116 |
|
|
2006-10-13 Paul Thomas
|
1117 |
|
|
|
1118 |
|
|
PR fortran/29373
|
1119 |
|
|
* decl.c (get_proc_name, gfc_match_function_decl): Add
|
1120 |
|
|
attr.implicit_type to conditions that throw error for
|
1121 |
|
|
existing explicit interface and that allow new type-
|
1122 |
|
|
spec to be applied.
|
1123 |
|
|
|
1124 |
|
|
PR fortran/29407
|
1125 |
|
|
* resolve.c (resolve_fl_namelist): Do not check for
|
1126 |
|
|
namelist/procedure conflict, if the symbol corresponds
|
1127 |
|
|
to a good local variable declaration.
|
1128 |
|
|
|
1129 |
|
|
PR fortran/27701
|
1130 |
|
|
* decl.c (get_proc_name): Replace the detection of a declared
|
1131 |
|
|
procedure by the presence of a formal argument list by the
|
1132 |
|
|
attributes of the symbol and the presence of an explicit
|
1133 |
|
|
interface.
|
1134 |
|
|
|
1135 |
|
|
PR fortran/29232
|
1136 |
|
|
* resolve.c (resolve_fl_variable): See if the host association
|
1137 |
|
|
of a derived type is blocked by the presence of another type I
|
1138 |
|
|
object in the current namespace.
|
1139 |
|
|
|
1140 |
|
|
PR fortran/29364
|
1141 |
|
|
* resolve.c (resolve_fl_derived): Check for the presence of
|
1142 |
|
|
the derived type for a derived type component.
|
1143 |
|
|
|
1144 |
|
|
PR fortran/24398
|
1145 |
|
|
* module.c (gfc_use_module): Check that the first words in a
|
1146 |
|
|
module file are 'GFORTRAN module'.
|
1147 |
|
|
|
1148 |
|
|
PR fortran/29422
|
1149 |
|
|
* resolve.c (resolve_transfer): Test functions for suitability
|
1150 |
|
|
for IO, as well as variables.
|
1151 |
|
|
|
1152 |
|
|
PR fortran/29428
|
1153 |
|
|
* trans-expr.c (gfc_trans_scalar_assign): Remove nullify of
|
1154 |
|
|
rhs expression.
|
1155 |
|
|
|
1156 |
|
|
2006-10-13 Francois-Xavier Coudert
|
1157 |
|
|
|
1158 |
|
|
PR fortran/29391
|
1159 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Generate correct
|
1160 |
|
|
code for LBOUND and UBOUND intrinsics.
|
1161 |
|
|
|
1162 |
|
|
2006-10-13 Francois-Xavier Coudert
|
1163 |
|
|
|
1164 |
|
|
PR fortran/21435
|
1165 |
|
|
* io.c (compare_to_allowed_values): New function.
|
1166 |
|
|
(gfc_match_open): Add checks for constant values of specifiers.
|
1167 |
|
|
(gfc_match_close): Add checks for constant values of the STATUS
|
1168 |
|
|
specifier.
|
1169 |
|
|
|
1170 |
|
|
2006-10-12 Brooks Moses
|
1171 |
|
|
|
1172 |
|
|
* intrinsic.texi (STAT): Fixed a format typo in sample code.
|
1173 |
|
|
|
1174 |
|
|
2006-10-12 Brooks Moses
|
1175 |
|
|
|
1176 |
|
|
* intrinsic.texi (STAT): Shortened lines in sample code.
|
1177 |
|
|
|
1178 |
|
|
2006-10-11 Tobias Schlueter
|
1179 |
|
|
|
1180 |
|
|
* gfortran.h (gfc_show_actual_arglist, gfc_show_array_ref,
|
1181 |
|
|
gfc_show_array_spec, gfc_show_attr, gfc_show_code,
|
1182 |
|
|
gfc_show_components, gfc_show_constructor, gfc_show_equiv,
|
1183 |
|
|
gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
|
1184 |
|
|
gfc_show_typespec): Add prototypes.
|
1185 |
|
|
* dump-parse-tree.c (gfc_show_actual_arglist, gfc_show_array_ref,
|
1186 |
|
|
gfc_show_array_spec, gfc_show_attr, gfc_show_code,
|
1187 |
|
|
gfc_show_components, gfc_show_constructor, gfc_show_equiv,
|
1188 |
|
|
gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
|
1189 |
|
|
gfc_show_typespec): Remove 'static' from declaration.
|
1190 |
|
|
|
1191 |
|
|
2006-10-10 Brooks Moses
|
1192 |
|
|
|
1193 |
|
|
* invoke.texi, gfortran.texi: Corrected erronous dashes.
|
1194 |
|
|
|
1195 |
|
|
2006-10-10 Brooks Moses
|
1196 |
|
|
|
1197 |
|
|
* Make-lang.in: Added "fortran.pdf", "gfortran.pdf" target
|
1198 |
|
|
support.
|
1199 |
|
|
|
1200 |
|
|
2006-10-10 Daniel Franke
|
1201 |
|
|
|
1202 |
|
|
* intrinsic.texi: added documentation for FSTAT, GETARG,GET_COMMAND,
|
1203 |
|
|
GET_COMMAND_ARGUMENT, GETENV, GET_ENVIRONMENT_VARIABLE, IAND, IARGC,
|
1204 |
|
|
LSTAT and STAT, removed the reference to PR19292 from ACCESS, CHMOD,
|
1205 |
|
|
GMTIME, LSHIFT, LTIME, RSHIFT.
|
1206 |
|
|
|
1207 |
|
|
2006-10-10 Brooks Moses
|
1208 |
|
|
|
1209 |
|
|
* gfortran.texi (Standards): Update to current status.
|
1210 |
|
|
|
1211 |
|
|
2006-10-09 Brooks Moses
|
1212 |
|
|
|
1213 |
|
|
* Make-lang.in: Added intrinsic.texi to GFORTRAN_TEXI
|
1214 |
|
|
dependences.
|
1215 |
|
|
|
1216 |
|
|
2006-10-09 Brooks Moses
|
1217 |
|
|
|
1218 |
|
|
* intrinsic.texi (MOVE_ALLOC): changed "Options" to "Standards".
|
1219 |
|
|
|
1220 |
|
|
2006-10-09 Steven G. Kargl
|
1221 |
|
|
|
1222 |
|
|
* gfortran.h: Define GFC_MPFR_TOO_OLD via mpfr version info.
|
1223 |
|
|
* arith.c (arctangent, gfc_check_real_range): Use it.
|
1224 |
|
|
* simplify.c (gfc_simplify_atan2, gfc_simplify_exponent,
|
1225 |
|
|
gfc_simplify_log, gfc_simplify_nearest): Use it.
|
1226 |
|
|
|
1227 |
|
|
PR fortran/15441
|
1228 |
|
|
PR fortran/29312
|
1229 |
|
|
* iresolve.c (gfc_resolve_rrspacing): Give rrspacing library
|
1230 |
|
|
routine hidden precision argument.
|
1231 |
|
|
(gfc_resolve_spacing): Give spacing library routine hidden
|
1232 |
|
|
precision, emin - 1, and tiny(x) arguments.
|
1233 |
|
|
* simplify.c (gfc_simplify_nearest): Remove explicit subnormalization.
|
1234 |
|
|
(gfc_simplify_rrspacing): Implement formula from Fortran 95 standard.
|
1235 |
|
|
(gfc_simplify_spacing): Implement formula from Fortran 2003 standard.
|
1236 |
|
|
* trans-intrinsic.c (gfc_intrinsic_map_t) Declare rrspacing and
|
1237 |
|
|
spacing via LIBF_FUNCTION
|
1238 |
|
|
(prepare_arg_info, call_builtin_clz, gfc_conv_intrinsic_spacing,
|
1239 |
|
|
gfc_conv_intrinsic_rrspacing): Remove functions.
|
1240 |
|
|
(gfc_conv_intrinsic_function): Remove calls to
|
1241 |
|
|
gfc_conv_intrinsic_spacing and gfc_conv_intrinsic_rrspacing.
|
1242 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Remove __builtin_clz,
|
1243 |
|
|
__builtin_clzl and __builtin_clzll
|
1244 |
|
|
|
1245 |
|
|
2006-10-09 Richard Henderson
|
1246 |
|
|
|
1247 |
|
|
Revert emutls patch.
|
1248 |
|
|
|
1249 |
|
|
2006-10-09 Francois-Xavier Coudert
|
1250 |
|
|
|
1251 |
|
|
* intrinsic.c (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s,
|
1252 |
|
|
add_sym_4s, add_sym_5s, add_functions): Use macro ACTUAL_NO,
|
1253 |
|
|
ACTUAL_YES, NOT_ELEMENTAL and ELEMENTAL instead of constants
|
1254 |
|
|
|
1255 |
|
|
|
1256 |
|
|
2006-10-08 Erik Edelmann
|
1257 |
|
|
Paul Thomas
|
1258 |
|
|
|
1259 |
|
|
PR fortran/20541
|
1260 |
|
|
* interface.c (gfc_compare_derived_types): Add comparison of
|
1261 |
|
|
the allocatable field.
|
1262 |
|
|
* intrinsic.c (add_subroutines): Add MOVE_ALLOC.
|
1263 |
|
|
* trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign,
|
1264 |
|
|
gfc_trans_subcomponent_assign, gfc_conv_string_parameter,
|
1265 |
|
|
gfc_trans_scalar_assign): Add extra arguments l_is_temp
|
1266 |
|
|
and r_is_var to references to latter function.
|
1267 |
|
|
(gfc_conv_function_call): Add enum for types of argument and
|
1268 |
|
|
an associated variable parm_kind. Deallocate components of
|
1269 |
|
|
INTENT(OUT) and non-variable arrays.
|
1270 |
|
|
(gfc_trans_subcomponent_assign): Add block to assign arrays
|
1271 |
|
|
to allocatable components.
|
1272 |
|
|
(gfc_trans_scalar_assign): Add block to handle assignments of
|
1273 |
|
|
derived types with allocatable components, using the above new
|
1274 |
|
|
arguments to control allocation/deallocation of memory and the
|
1275 |
|
|
copying of allocated arrays.
|
1276 |
|
|
* trans-array.c (gfc_array_allocate): Remove old identification
|
1277 |
|
|
of pointer and replace with that of an allocatable array. Add
|
1278 |
|
|
nullify of structures with allocatable components.
|
1279 |
|
|
(gfc_conv_array_initializer): Treat EXPR_NULL.
|
1280 |
|
|
(gfc_conv_array_parameter): Deallocate allocatable components
|
1281 |
|
|
of non-variable structures.
|
1282 |
|
|
(gfc_trans_dealloc_allocated): Use second argument of library
|
1283 |
|
|
deallocate to inhibit, without error, freeing NULL pointers.
|
1284 |
|
|
(get_full_array_size): New function to return the size of a
|
1285 |
|
|
full array.
|
1286 |
|
|
(gfc_duplicate_allocatable): New function to allocate and copy
|
1287 |
|
|
allocated data.
|
1288 |
|
|
(structure_alloc_comps): New recursive function to deallocate,
|
1289 |
|
|
nullify or copy allocatable components.
|
1290 |
|
|
(gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp,
|
1291 |
|
|
gfc_copy_alloc_comp): New interface functions to call previous.
|
1292 |
|
|
(gfc_trans_deferred_array): Add the code to nullify allocatable
|
1293 |
|
|
components, when entering scope, and to deallocate them on
|
1294 |
|
|
leaving. Do not call gfc_trans_static_array_pointer and return
|
1295 |
|
|
for structures with allocatable components and default
|
1296 |
|
|
initializers.
|
1297 |
|
|
* symbol.c (gfc_set_component_attr): Set allocatable field.
|
1298 |
|
|
(gfc_get_component_attr): Set the allocatable attribute.
|
1299 |
|
|
* intrinsic.h : Prototype for gfc_check_move_alloc.
|
1300 |
|
|
* decl.c (build_struct): Apply TR15581 constraints for
|
1301 |
|
|
allocatable components.
|
1302 |
|
|
(variable_decl): Default initializer is always NULL for
|
1303 |
|
|
allocatable components.
|
1304 |
|
|
(match_attr_spec): Allow, or not, allocatable components,
|
1305 |
|
|
according to the standard in force.
|
1306 |
|
|
* trans-array.h : Prototypes for gfc_nullify_alloc_comp,
|
1307 |
|
|
gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and
|
1308 |
|
|
gfc_duplicate_allocatable.
|
1309 |
|
|
* gfortran.texi : Add mention of TR15581 extensions.
|
1310 |
|
|
* gfortran.h : Add attribute alloc_comp, add
|
1311 |
|
|
gfc_components field allocatable and add the prototype
|
1312 |
|
|
for gfc_expr_to_initialize.
|
1313 |
|
|
* trans-stmt.c (generate_loop_for_temp_to_lhs,
|
1314 |
|
|
generate_loop_for_rhs_to_temp, gfc_trans_where_assign,
|
1315 |
|
|
gfc_trans_where_3): Add extra arguments to calls to
|
1316 |
|
|
gfc_trans_scalar_assign and set appropriately.
|
1317 |
|
|
(gfc_trans_allocate): Nullify allocatable components.
|
1318 |
|
|
(gfc_trans_deallocate): Deallocate to ultimate allocatable
|
1319 |
|
|
components but stop at ultimate pointer components.
|
1320 |
|
|
* module.c (mio_symbol_attribute, mio_symbol_attribute,
|
1321 |
|
|
mio_component): Add module support for allocatable
|
1322 |
|
|
components.
|
1323 |
|
|
* trans-types.c (gfc_get_derived_type): Treat allocatable
|
1324 |
|
|
components.
|
1325 |
|
|
* trans.h : Add two boolean arguments to
|
1326 |
|
|
gfc_trans_scalar_assign.
|
1327 |
|
|
* resolve.c (resolve_structure_cons): Check conformance of
|
1328 |
|
|
constructor element and the component.
|
1329 |
|
|
(resolve_allocate_expr): Add expression to nullify the
|
1330 |
|
|
constructor expression for allocatable components.
|
1331 |
|
|
(resolve_transfer): Inhibit I/O of derived types with
|
1332 |
|
|
allocatable components.
|
1333 |
|
|
(resolve_fl_derived): Skip check of bounds of allocatable
|
1334 |
|
|
components.
|
1335 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Add derived types
|
1336 |
|
|
with allocatable components to deferred variable.
|
1337 |
|
|
(gfc_trans_deferred_vars): Make calls for derived types
|
1338 |
|
|
with allocatable components to gfc_trans_deferred_array.
|
1339 |
|
|
(gfc_generate_function_code): Nullify allocatable
|
1340 |
|
|
component function result on entry.
|
1341 |
|
|
* parse.c (parse_derived): Set symbol attr.allocatable if
|
1342 |
|
|
allocatable components are present.
|
1343 |
|
|
* check.c (gfc_check_allocated): Enforce attr.allocatable
|
1344 |
|
|
for intrinsic arguments.
|
1345 |
|
|
(gfc_check_move_alloc): Check arguments of move_alloc.
|
1346 |
|
|
* primary.c (gfc_variable_attr): Set allocatable attribute.
|
1347 |
|
|
* intrinsic.texi : Add index entry and section for
|
1348 |
|
|
for move_alloc.
|
1349 |
|
|
|
1350 |
|
|
2006-10-08 Paul Thomas
|
1351 |
|
|
|
1352 |
|
|
PR fortran/29115
|
1353 |
|
|
* resolve.c (resolve_structure_cons): It is an error if the
|
1354 |
|
|
pointer component elements of a derived type constructor are
|
1355 |
|
|
not pointer or target.
|
1356 |
|
|
|
1357 |
|
|
|
1358 |
|
|
PR fortran/29211
|
1359 |
|
|
* trans-stmt.c (generate_loop_for_temp_to_lhs,
|
1360 |
|
|
generate_loop_for_rhs_to_temp): Provide a string length for
|
1361 |
|
|
the temporary by copying that of the other side of the scalar
|
1362 |
|
|
assignment.
|
1363 |
|
|
|
1364 |
|
|
2006-10-08 Tobias Burnus
|
1365 |
|
|
|
1366 |
|
|
PR fortran/28585
|
1367 |
|
|
* intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic.
|
1368 |
|
|
* intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line
|
1369 |
|
|
prototypes.
|
1370 |
|
|
* check.c (gfc_check_new_line): New function.
|
1371 |
|
|
* simplify.c (gfc_simplify_new_line): New function.
|
1372 |
|
|
* intrinsic.texi: Document new_line intrinsic.
|
1373 |
|
|
|
1374 |
|
|
2006-10-07 Francois-Xavier Coudert
|
1375 |
|
|
|
1376 |
|
|
PR fortran/16580
|
1377 |
|
|
PR fortran/29288
|
1378 |
|
|
* gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a
|
1379 |
|
|
gfc_intrinsic_sym structure is filled.
|
1380 |
|
|
(gfc_intrinsic_actual_ok): New function.
|
1381 |
|
|
(add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s,
|
1382 |
|
|
add_sym_5s): Intrinsic subroutines are not allowed as actual
|
1383 |
|
|
arguments, so we remove argument actual_ok.
|
1384 |
|
|
(add_functions): Correct the values for actual_ok of all intrinsics.
|
1385 |
|
|
Add comments for gfc_check_access_func and gfc_resolve_index_func.
|
1386 |
|
|
(add_subroutines): Remove the actual_ok argument, which was never used.
|
1387 |
|
|
* gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype.
|
1388 |
|
|
* gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype.
|
1389 |
|
|
* gcc/fortran/resolve.c (resolve_actual_arglist): Check whether
|
1390 |
|
|
an intrinsic used as an argument list is allowed there.
|
1391 |
|
|
* gcc/fortran/iresolve.c (gfc_resolve_index_func): New function.
|
1392 |
|
|
(gfc_resolve_len): Change intrinsic function name to agree with
|
1393 |
|
|
libgfortran.
|
1394 |
|
|
* gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add
|
1395 |
|
|
new case, because some specific intrinsics take 3 arguments.
|
1396 |
|
|
* gcc/fortran/intrinsic.texi: DIMAG is a GNU extension.
|
1397 |
|
|
|
1398 |
|
|
2006-10-06 Jakub Jelinek
|
1399 |
|
|
|
1400 |
|
|
PR fortran/28415
|
1401 |
|
|
* trans-decl.c (gfc_finish_var_decl): With -fno-automatic, don't
|
1402 |
|
|
make artificial variables or pointer to variable automatic array
|
1403 |
|
|
TREE_STATIC.
|
1404 |
|
|
|
1405 |
|
|
* scanner.c (skip_free_comments): Return bool instead of void.
|
1406 |
|
|
(gfc_next_char_literal): Don't return ' ' if & is missing after
|
1407 |
|
|
!$omp or !$. Use skip_{free,fixed}_comments directly instead
|
1408 |
|
|
of gfc_skip_comments.
|
1409 |
|
|
|
1410 |
|
|
2006-10-04 Brooks Moses
|
1411 |
|
|
|
1412 |
|
|
* gfortran.texi: (Current Status): update and rewrite to reflect
|
1413 |
|
|
actual status more accurately.
|
1414 |
|
|
|
1415 |
|
|
2006-10-04 Brooks Moses
|
1416 |
|
|
|
1417 |
|
|
* gfortran.texi: Consistently refer to the compiler as "GNU
|
1418 |
|
|
Fortran".
|
1419 |
|
|
* intrinsic.texi: Ditto.
|
1420 |
|
|
* invoke.texi: Ditto.
|
1421 |
|
|
|
1422 |
|
|
2006-10-04 Richard Henderson
|
1423 |
|
|
Jakub Jelinek
|
1424 |
|
|
|
1425 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
|
1426 |
|
|
and __emutls_register_common.
|
1427 |
|
|
* openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
|
1428 |
|
|
* trans-common.c (build_common_decl): Don't check have_tls.
|
1429 |
|
|
* trans-decl.c (gfc_finish_var_decl): Likewise.
|
1430 |
|
|
* types.def (BT_WORD, BT_FN_PTR_PTR): New.
|
1431 |
|
|
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
|
1432 |
|
|
|
1433 |
|
|
2006-10-04 Paul Thomas
|
1434 |
|
|
|
1435 |
|
|
PR fortran/29343
|
1436 |
|
|
* resolve.c (resolve_allocate_expr): Exclude derived types from
|
1437 |
|
|
search for dependences between allocated variables and the
|
1438 |
|
|
specification expressions for other allocations in the same
|
1439 |
|
|
statement.
|
1440 |
|
|
|
1441 |
|
|
2006-10-04 Paul Thomas
|
1442 |
|
|
|
1443 |
|
|
PR fortran/29098
|
1444 |
|
|
* resolve.c (resolve_structure_cons): Do not return FAILURE if
|
1445 |
|
|
component expression is NULL.
|
1446 |
|
|
|
1447 |
|
|
2006-10-03 Paul Thomas
|
1448 |
|
|
|
1449 |
|
|
PR fortran/20779
|
1450 |
|
|
PR fortran/20891
|
1451 |
|
|
* resolve.c (find_sym_in_expr): New function that returns true
|
1452 |
|
|
if a symbol is found in an expression.
|
1453 |
|
|
(resolve_allocate_expr): Check whether the STAT variable is
|
1454 |
|
|
itself allocated in the same statement. Use the call above to
|
1455 |
|
|
check whether any of the allocated arrays are used in array
|
1456 |
|
|
specifications in the same statement.
|
1457 |
|
|
|
1458 |
|
|
2006-10-03 Steven G. Kargl
|
1459 |
|
|
|
1460 |
|
|
* arith.c (gfc_check_real_range): Use correct exponent range for
|
1461 |
|
|
subnormal numbers.
|
1462 |
|
|
|
1463 |
|
|
2006-10-03 Paul Thomas
|
1464 |
|
|
|
1465 |
|
|
PR fortran/29284
|
1466 |
|
|
PR fortran/29321
|
1467 |
|
|
PR fortran/29322
|
1468 |
|
|
* trans-expr.c (gfc_conv_function_call): Check the expression
|
1469 |
|
|
and the formal symbol are present when testing the actual
|
1470 |
|
|
argument.
|
1471 |
|
|
|
1472 |
|
|
PR fortran/25091
|
1473 |
|
|
PR fortran/25092
|
1474 |
|
|
* resolve.c (resolve_entries): It is an error if the entries
|
1475 |
|
|
of an array-valued function do not have the same shape.
|
1476 |
|
|
|
1477 |
|
|
2006-10-03 Francois-Xavier Coudert
|
1478 |
|
|
|
1479 |
|
|
PR middle-end/27478
|
1480 |
|
|
* trans-decl.c (gfc_get_fake_result_decl): Mark var as
|
1481 |
|
|
TREE_ADDRESSABLE.
|
1482 |
|
|
|
1483 |
|
|
2006-10-02 Jerry DeLisle
|
1484 |
|
|
|
1485 |
|
|
PR fortran/19262
|
1486 |
|
|
* gfortran.h (gfc_option_t): Add max_continue_fixed and
|
1487 |
|
|
max_continue_free.
|
1488 |
|
|
* options.c (gfc_init_options): Initialize fixed form and free form
|
1489 |
|
|
consecutive continuation line limits.
|
1490 |
|
|
* scanner.c (gfc_scanner_init_1): Initialize continue_line
|
1491 |
|
|
and continue_count. (gfc_next_char_literal): Count the number of
|
1492 |
|
|
continuation lines in the current statement and warn if limit
|
1493 |
|
|
is exceeded.
|
1494 |
|
|
|
1495 |
|
|
2006-10-02 Jerry DeLisle
|
1496 |
|
|
|
1497 |
|
|
PR fortran/19260
|
1498 |
|
|
* scanner.c (gfc_next_char_literal): Add check for missing '&'
|
1499 |
|
|
and warn if in_string, otherwise return ' '.
|
1500 |
|
|
|
1501 |
|
|
2006-10-02 Francois-Xavier Coudert
|
1502 |
|
|
|
1503 |
|
|
PR fortran/29210
|
1504 |
|
|
* primary.c (match_sym_complex_part): Named constants as real or
|
1505 |
|
|
imaginary part of complex a named constant are only allowed in
|
1506 |
|
|
Fortran 2003.
|
1507 |
|
|
|
1508 |
|
|
2006-10-01 Brooks Moses
|
1509 |
|
|
|
1510 |
|
|
* gfortran.texi: Corrected references to MALLOC intrinsic.
|
1511 |
|
|
* invoke.texi: Minor cleanup and clarification to the Dialect
|
1512 |
|
|
Options section.
|
1513 |
|
|
|
1514 |
|
|
2006-09-30 Brooks Moses
|
1515 |
|
|
|
1516 |
|
|
* invoke.texi: Add mention of BOZ constants and integer
|
1517 |
|
|
overflow to -fno-range-check.
|
1518 |
|
|
* gfortran.texi: Add mention of -fno-range-check to
|
1519 |
|
|
section on BOZ contants.
|
1520 |
|
|
|
1521 |
|
|
2006-09-30 Bernhard Fischer
|
1522 |
|
|
|
1523 |
|
|
* resolve.c: Fix commentary typo. Fix whitespace.
|
1524 |
|
|
|
1525 |
|
|
2006-09-28 Steven G. Kargl
|
1526 |
|
|
|
1527 |
|
|
fortran/29147
|
1528 |
|
|
* arith.c (gfc_check_integer_range): Disable range checking via
|
1529 |
|
|
-fno-range-check.
|
1530 |
|
|
|
1531 |
|
|
2006-09-28 Steven G. Kargl
|
1532 |
|
|
|
1533 |
|
|
* arith.c: Change conditional test for inclusion of arctangent().
|
1534 |
|
|
(gfc_check_real_range): Change conditional test for use of
|
1535 |
|
|
mpfr_subnormalize.
|
1536 |
|
|
* simplify.c (gfc_simplify_atan2): Fix conditional for use of
|
1537 |
|
|
mpfr_atan2() instead of arctangent().
|
1538 |
|
|
(gfc_simplify_exponent): Fix conditional for use of mpfr_get_exp().
|
1539 |
|
|
(gfc_simplify_log): Fix conditional for use of mpfr_atan2() instead
|
1540 |
|
|
of arctangent().
|
1541 |
|
|
(gfc_simplify_nearest): Fix conditional for use of mpfr_nextafter().
|
1542 |
|
|
|
1543 |
|
|
2006-09-27 Steven G. Kargl
|
1544 |
|
|
|
1545 |
|
|
* arith.c: Conditionally include arctangent2().
|
1546 |
|
|
(gfc_check_real_range): Use mpfr_subnormalize in preference to local
|
1547 |
|
|
hack.
|
1548 |
|
|
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Append
|
1549 |
|
|
l for long double functions.
|
1550 |
|
|
* simplify.c: Wrap Copyright to new line.
|
1551 |
|
|
(gfc_simplify_atan2): Use mpfr_atan2 in preference to arctangent2().
|
1552 |
|
|
(gfc_simplify_log): Ditto.
|
1553 |
|
|
|
1554 |
|
|
|
1555 |
|
|
PR fortran/28276
|
1556 |
|
|
* simplify.c (gfc_simplify_exponent): Use mpfr_get_exp in
|
1557 |
|
|
preference to broken local hack.
|
1558 |
|
|
|
1559 |
|
|
PR fortran/27021
|
1560 |
|
|
* simplify.c (gfc_simplify_nearest): Use mpfr_nexttoward and
|
1561 |
|
|
mpfr_subnormalize to handle numbers near zero in preference to broken
|
1562 |
|
|
local hack.
|
1563 |
|
|
|
1564 |
|
|
2006-09-26 Jakub Jelinek
|
1565 |
|
|
|
1566 |
|
|
PR fortran/29097
|
1567 |
|
|
* scanner.c (include_line): Handle conditional include.
|
1568 |
|
|
|
1569 |
|
|
2006-09-25 Tobias Schlüter
|
1570 |
|
|
|
1571 |
|
|
PR fortran/21203
|
1572 |
|
|
* error.c (show_loci): No need to risk an ICE to output a
|
1573 |
|
|
slightly nicer error message.
|
1574 |
|
|
|
1575 |
|
|
2006-09-19 Paul Thomas
|
1576 |
|
|
Steven Bosscher
|
1577 |
|
|
|
1578 |
|
|
PR fortran/29101
|
1579 |
|
|
* trans-stmt.c (gfc_trans_character_select): Store the label
|
1580 |
|
|
from select_string and then clean up any temporaries from the
|
1581 |
|
|
conversion of the select expression, before branching to the
|
1582 |
|
|
selected case.
|
1583 |
|
|
|
1584 |
|
|
2006-09-18 Paul Thomas
|
1585 |
|
|
|
1586 |
|
|
PR fortran/28526
|
1587 |
|
|
* primary.c (match_variable): If the compiler is in a module
|
1588 |
|
|
specification block, an interface block or a contains section,
|
1589 |
|
|
reset host_flag to force the changed symbols mechanism.
|
1590 |
|
|
|
1591 |
|
|
PR fortran/29101
|
1592 |
|
|
* trans-stmt.c (gfc_trans_character_select): Add the post block
|
1593 |
|
|
for the expression to the main block, after the call to
|
1594 |
|
|
select_string and the last label.
|
1595 |
|
|
|
1596 |
|
|
2006-09-18 Paul Thomas
|
1597 |
|
|
|
1598 |
|
|
PR fortran/29060
|
1599 |
|
|
* iresolve.c (resolve_spread): Build shape for result if the
|
1600 |
|
|
source shape is available and dim and ncopies are constants.
|
1601 |
|
|
|
1602 |
|
|
2006-09-18 Tobias Schlüter
|
1603 |
|
|
|
1604 |
|
|
PR fortran/28817
|
1605 |
|
|
PR fortran/21918
|
1606 |
|
|
* trans-decl.c (generate_local_decl): Change from 'warning' to
|
1607 |
|
|
'gfc_warning' to have line numbers correctly reported.
|
1608 |
|
|
|
1609 |
|
|
2006-09-15 Paul Thomas
|
1610 |
|
|
|
1611 |
|
|
PR fortran/29051
|
1612 |
|
|
* decl.c (match_old_style_init): Set the 'where' field of the
|
1613 |
|
|
gfc_data structure 'newdata'.
|
1614 |
|
|
|
1615 |
|
|
* match.c (match_case_eos): Add a comprehensible error message.
|
1616 |
|
|
|
1617 |
|
|
2006-09-13 Wolfgang Gellerich
|
1618 |
|
|
|
1619 |
|
|
* trans-expr.c (gfc_add_interface_mapping): For characters, dereference
|
1620 |
|
|
pointer if necessary and then perform the cast.
|
1621 |
|
|
|
1622 |
|
|
2006-09-11 Steven G. Kargl
|
1623 |
|
|
|
1624 |
|
|
* intrinsic.c: Update Copyright date.
|
1625 |
|
|
* intrinsic.h: Ditto.
|
1626 |
|
|
|
1627 |
|
|
2006-09-11 Paul Thomas
|
1628 |
|
|
|
1629 |
|
|
PR fortran/28890
|
1630 |
|
|
* trans-expr.c (gfc_conv_function_call): Obtain the string length
|
1631 |
|
|
of a dummy character(*) function from the symbol if it is not
|
1632 |
|
|
already translated. For a call to a character(*) function, use
|
1633 |
|
|
the passed, hidden string length argument, which is available
|
1634 |
|
|
from the backend_decl of the formal argument.
|
1635 |
|
|
* resolve.c (resolve_function): It is an error if a function call
|
1636 |
|
|
to a character(*) function is other than a dummy procedure or
|
1637 |
|
|
an intrinsic.
|
1638 |
|
|
|
1639 |
|
|
2006-09-10 Paul Thomas
|
1640 |
|
|
|
1641 |
|
|
PR fortran/28959
|
1642 |
|
|
* trans-types.c (gfc_get_derived_type): Use the parent namespace of
|
1643 |
|
|
the procedure if the type's own namespace does not have a parent.
|
1644 |
|
|
|
1645 |
|
|
2006-09-10 Paul Thomas
|
1646 |
|
|
|
1647 |
|
|
PR fortran/28923
|
1648 |
|
|
* expr.c (find_array_section): Only use the array lower and upper
|
1649 |
|
|
bounds for the start and end of the sections, where the expr is
|
1650 |
|
|
NULL.
|
1651 |
|
|
|
1652 |
|
|
2006-09-10 Paul Thomas
|
1653 |
|
|
|
1654 |
|
|
PR fortran/28914
|
1655 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): Create a temporary
|
1656 |
|
|
loop variable to hold the current loop variable in case it is modified
|
1657 |
|
|
by the array constructor.
|
1658 |
|
|
|
1659 |
|
|
2006-09-07 Steven G. Kargl
|
1660 |
|
|
|
1661 |
|
|
* gfortran.h (gfc_integer_info): Eliminate max_int.
|
1662 |
|
|
* arith.c (gfc_arith_init_1): Remove initialization of max_int.
|
1663 |
|
|
(gfc_arith_done_1): Remove clearing of max_int.
|
1664 |
|
|
(gfc_check_integer_range): Fix range chekcing of overflow.
|
1665 |
|
|
* simplify.c (gfc_simplify_not): Construct mask that was max_int.
|
1666 |
|
|
|
1667 |
|
|
2006-09-05 Paul Thomas
|
1668 |
|
|
|
1669 |
|
|
PR fortran/28908
|
1670 |
|
|
* gfortran.h : Restore the gfc_dt_list structure and reference
|
1671 |
|
|
to it in gfc_namespace.
|
1672 |
|
|
* resolve.c (resolve_fl_derived): Restore the building of the
|
1673 |
|
|
list of derived types for the current namespace. Modify the
|
1674 |
|
|
restored code so that a check is made to see if the symbol is
|
1675 |
|
|
already in the list.
|
1676 |
|
|
(resolve_fntype): Make sure that the specification block
|
1677 |
|
|
version of the derived type is used for a module function that
|
1678 |
|
|
returns that type.
|
1679 |
|
|
* symbol.c (gfc_free_dt_list): Restore.
|
1680 |
|
|
(gfc_free_namespace): Restore call to previous.
|
1681 |
|
|
* trans-types.c (copy_dt_decls_ifequal): Restore.
|
1682 |
|
|
(gfc_get_derived_type): Restore all the paraphenalia for
|
1683 |
|
|
association of derived types, including calls to previous.
|
1684 |
|
|
Modify the restored code such that all derived types are built
|
1685 |
|
|
if their symbols are found in the parent namespace; not just
|
1686 |
|
|
non-module types. Add backend_decls to like derived types in
|
1687 |
|
|
sibling namespaces, as well as that of the derived type.
|
1688 |
|
|
|
1689 |
|
|
2006-08-30 Kazu Hirata
|
1690 |
|
|
|
1691 |
|
|
* match.c: Fix a comment typo.
|
1692 |
|
|
|
1693 |
|
|
2006-08-30 Paul Thomas
|
1694 |
|
|
|
1695 |
|
|
PR fortran/28885
|
1696 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
|
1697 |
|
|
declaration is retained for INTENT(OUT) arguments.
|
1698 |
|
|
|
1699 |
|
|
PR fortran/28873
|
1700 |
|
|
PR fortran/20067
|
1701 |
|
|
* resolve.c (resolve_generic_f): Make error message more
|
1702 |
|
|
comprehensible.
|
1703 |
|
|
(resolve_generic_s): Restructure search for specific procedures
|
1704 |
|
|
to be similar to resolve_generic_f and change to similar error
|
1705 |
|
|
message. Ensure that symbol reference is refreshed, in case
|
1706 |
|
|
the search produces a NULL.
|
1707 |
|
|
(resolve_specific_s): Restructure search, as above and as
|
1708 |
|
|
resolve_specific_f. Ensure that symbol reference is refreshed,
|
1709 |
|
|
in case the search produces a NULL.
|
1710 |
|
|
|
1711 |
|
|
PR fortran/25077
|
1712 |
|
|
PR fortran/25102
|
1713 |
|
|
* interface.c (check_operator_interface): Throw error if the
|
1714 |
|
|
interface assignment tries to change intrinsic type assigments
|
1715 |
|
|
or has less than two arguments. Also, it is an error if an
|
1716 |
|
|
interface operator contains an alternate return.
|
1717 |
|
|
|
1718 |
|
|
PR fortran/24866
|
1719 |
|
|
* parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
|
1720 |
|
|
if it is a dummy in the contained namespace.
|
1721 |
|
|
|
1722 |
|
|
2006-08-29 Steven G. Kargl
|
1723 |
|
|
|
1724 |
|
|
PR fortran/28866
|
1725 |
|
|
* match.c: Wrap copyright.
|
1726 |
|
|
(gfc_match_assignment): Return MATCH_NO for failed lvalue. Remove
|
1727 |
|
|
gotos. Move error handling of FL_PARAMETER to ...
|
1728 |
|
|
* gfc_match_if: Deal with MATCH_NO from above.
|
1729 |
|
|
* primary.c: Wrap copyright.
|
1730 |
|
|
(match_variable): ... here. Improve error messages.
|
1731 |
|
|
|
1732 |
|
|
2006-08-29 Paul Thomas
|
1733 |
|
|
|
1734 |
|
|
PR fortran/28788
|
1735 |
|
|
* symbol.c (gfc_use_derived): Never eliminate the symbol,
|
1736 |
|
|
following reassociation of use associated derived types.
|
1737 |
|
|
|
1738 |
|
|
2006-08-26 Steven G. Kargl
|
1739 |
|
|
|
1740 |
|
|
* arith.h: Update Copyright dates. Fix whitespace.
|
1741 |
|
|
* arith.c: Update Copyright dates. Fix whitespace. Fix comments.
|
1742 |
|
|
(gfc_arith_done_1): Clean up pedantic_min_int and subnormal.
|
1743 |
|
|
|
1744 |
|
|
2006-08-26 Tobias Burnus
|
1745 |
|
|
|
1746 |
|
|
* gfortran.texi: Note variable initialization causes SAVE attribute.
|
1747 |
|
|
* intrinsic.texi: Clarify support for KIND=16 and KIND=10.
|
1748 |
|
|
Mention -std=f2003. Cross reference INQUIRE from ACCESS intrinsic.
|
1749 |
|
|
Add missing ) in ACOS.
|
1750 |
|
|
|
1751 |
|
|
2006-08-26 Daniel Franke
|
1752 |
|
|
|
1753 |
|
|
* intrinsic.texi: Update Copyright date. Added documentation
|
1754 |
|
|
for ACOSH, AND, ASINH, ATANH, CHDIR, FGET, FGETC, FPUT, FPUTC,
|
1755 |
|
|
GETCWD, OR and XOR intrinsics, removed inadvertently introduced
|
1756 |
|
|
doc-stubs for EQV and NEQV, corrected some typographical errors.
|
1757 |
|
|
|
1758 |
|
|
2006-08-24 Daniel Franke ,
|
1759 |
|
|
Brooks Moses
|
1760 |
|
|
|
1761 |
|
|
* intrinsic.texi: Added doc-stubs for undocumented intrinsics,
|
1762 |
|
|
added a "See Also" section, renamed the "Options" section to
|
1763 |
|
|
"Standard", improved the index, and made numerous minor
|
1764 |
|
|
typo corrections and grammatical fixes.
|
1765 |
|
|
|
1766 |
|
|
2006-08-24 Paul Thomas
|
1767 |
|
|
|
1768 |
|
|
PR fortran/28788
|
1769 |
|
|
* symbol.c (shift_types): Shift the derived type references in
|
1770 |
|
|
formal namespaces.
|
1771 |
|
|
(gfc_use_derived): Return if the derived type symbol is already
|
1772 |
|
|
in another namspace. Add searches for the derived type in
|
1773 |
|
|
sibling namespaces.
|
1774 |
|
|
|
1775 |
|
|
PR fortran/28771
|
1776 |
|
|
* decl.c (add_init_expr_to_sym): Restore the original but
|
1777 |
|
|
restricted to parameter arrays to fix a regression.
|
1778 |
|
|
|
1779 |
|
|
2006-08-23 Steven G. Kargl
|
1780 |
|
|
|
1781 |
|
|
* gfortran.texi: Fix last commit where a "no" was deleted and
|
1782 |
|
|
a grammatical error was introduced.
|
1783 |
|
|
|
1784 |
|
|
2006-08-23 Steven G. Kargl
|
1785 |
|
|
|
1786 |
|
|
* gfortran.texi: Spell check. Add a few contributors to
|
1787 |
|
|
Chapter 9. Expand the description of BOZ constant handling.
|
1788 |
|
|
|
1789 |
|
|
2006-08-20 Janne Blomqvist
|
1790 |
|
|
|
1791 |
|
|
PR fortran/25828
|
1792 |
|
|
* gfortran.texi: Mention STREAM I/O among supported F2003
|
1793 |
|
|
features.
|
1794 |
|
|
|
1795 |
|
|
2006-08-20 Paul Thomas
|
1796 |
|
|
|
1797 |
|
|
PR fortran/28601
|
1798 |
|
|
PR fortran/28630
|
1799 |
|
|
* gfortran.h : Eliminate gfc_dt_list structure and reference
|
1800 |
|
|
to it in gfc_namespace.
|
1801 |
|
|
* resolve.c (resolve_fl_derived): Remove the building of the
|
1802 |
|
|
list of derived types for the current namespace.
|
1803 |
|
|
* symbol.c (find_renamed_type): New function to find renamed
|
1804 |
|
|
derived types by symbol name rather than symtree name.
|
1805 |
|
|
(gfc_use_derived): Search parent namespace for identical
|
1806 |
|
|
derived type and use it, even if local version is complete,
|
1807 |
|
|
except in interface bodies. Ensure that renamed derived types
|
1808 |
|
|
are found by call to find_renamed_type. Recurse for derived
|
1809 |
|
|
type components.
|
1810 |
|
|
(gfc_free_dt_list): Remove.
|
1811 |
|
|
(gfc_free_namespace): Remove call to previous.
|
1812 |
|
|
* trans-types.c (copy_dt_decls_ifequal): Remove.
|
1813 |
|
|
(gfc_get_derived_type): Remove all the paraphenalia for
|
1814 |
|
|
association of derived types, including calls to previous.
|
1815 |
|
|
* match.c (gfc_match_allocate): Call gfc_use_derived to
|
1816 |
|
|
associate any derived types that are being allocated.
|
1817 |
|
|
|
1818 |
|
|
PR fortran/20886
|
1819 |
|
|
* resolve.c (resolve_actual_arglist): The passing of
|
1820 |
|
|
a generic procedure name as an actual argument is an
|
1821 |
|
|
error.
|
1822 |
|
|
|
1823 |
|
|
PR fortran/28735
|
1824 |
|
|
* resolve.c (resolve_variable): Check for a symtree before
|
1825 |
|
|
resolving references.
|
1826 |
|
|
|
1827 |
|
|
PR fortran/28762
|
1828 |
|
|
* primary.c (match_variable): Return MATCH_NO if the symbol
|
1829 |
|
|
is that of the program.
|
1830 |
|
|
|
1831 |
|
|
PR fortran/28425
|
1832 |
|
|
* trans-expr.c (gfc_trans_subcomponent_assign): Translate
|
1833 |
|
|
derived type component expressions other than another derived
|
1834 |
|
|
type constructor.
|
1835 |
|
|
|
1836 |
|
|
PR fortran/28496
|
1837 |
|
|
* expr.c (find_array_section): Correct errors in
|
1838 |
|
|
the handling of a missing start value for the
|
1839 |
|
|
index triplet in an array reference.
|
1840 |
|
|
|
1841 |
|
|
PR fortran/18111
|
1842 |
|
|
* trans-decl.c (gfc_build_dummy_array_decl): Before resetting
|
1843 |
|
|
reference to backend_decl, set it DECL_ARTIFICIAL.
|
1844 |
|
|
(gfc_get_symbol_decl): Likewise for original dummy decl, when
|
1845 |
|
|
a copy is made of an array.
|
1846 |
|
|
(create_function_arglist): Likewise for the _entry paramter
|
1847 |
|
|
in entry_masters.
|
1848 |
|
|
(build_entry_thunks): Likewise for dummies in entry thunks.
|
1849 |
|
|
|
1850 |
|
|
PR fortran/28600
|
1851 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Ensure that the
|
1852 |
|
|
DECL_CONTEXT of the length of a character dummy is the
|
1853 |
|
|
same as that of the symbol declaration.
|
1854 |
|
|
|
1855 |
|
|
PR fortran/28771
|
1856 |
|
|
* decl.c (add_init_expr_to_sym): Remove setting of charlen for
|
1857 |
|
|
an initializer of an assumed charlen variable.
|
1858 |
|
|
|
1859 |
|
|
PR fortran/28660
|
1860 |
|
|
* trans-decl.c (generate_expr_decls): New function.
|
1861 |
|
|
(generate_dependency_declarations): New function.
|
1862 |
|
|
(generate_local_decl): Call previous if not either a dummy or
|
1863 |
|
|
a declaration in an entry master.
|
1864 |
|
|
|
1865 |
|
|
2006-08-19 Erik Edelmann
|
1866 |
|
|
|
1867 |
|
|
PR fortran/25217
|
1868 |
|
|
* resolve.c (resolve_fl_variable): Set a default initializer for
|
1869 |
|
|
derived types with INTENT(OUT) even if 'flag' is true.
|
1870 |
|
|
* trans-expr.c (gfc_conv_function_call): Insert code to
|
1871 |
|
|
reinitialize INTENT(OUT) arguments of derived type with default
|
1872 |
|
|
initializers.
|
1873 |
|
|
|
1874 |
|
|
2006-08-15 Jerry DeLisle
|
1875 |
|
|
|
1876 |
|
|
PR fortran/25828
|
1877 |
|
|
* gfortran.h: Add new pointer for stream position to st_inquire.
|
1878 |
|
|
Rename gfc_large_io_int_kind to gfc_intio_kind.
|
1879 |
|
|
* trans-types.c (gfc_init_kinds): use gfc_intio_kind.
|
1880 |
|
|
* io.c: Add new IO tag for file position going in and another for out.
|
1881 |
|
|
(match_dt_element): Match new tag_spos.
|
1882 |
|
|
(gfc_resolve_dt): Resolve new tag_spos.
|
1883 |
|
|
(gfc_free_inquire): Free inquire->strm_pos.
|
1884 |
|
|
(match_inquire_element): Match new tag_strm_out.
|
1885 |
|
|
(gfc_resolve_inquire): Resolve new tag_strm_out.
|
1886 |
|
|
* trans-io.c: Rename IOPARM_type_large_io_int to IOPARM_type_intio.
|
1887 |
|
|
(gfc_build_st_parameter): Same.
|
1888 |
|
|
(gfc_build_io_library_fndecls) Same. and add build pointer type pintio.
|
1889 |
|
|
(gfc_trans_inquire): Translate strm_pos for inquire.
|
1890 |
|
|
* ioparm.def: Reorder flags to accomodate addition of new inquire
|
1891 |
|
|
flag for strm_pos_out and add it in.
|
1892 |
|
|
|
1893 |
|
|
2006-08-06 Paul Thomas
|
1894 |
|
|
|
1895 |
|
|
PR fortran/28590
|
1896 |
|
|
* parse.c (parse_derived): Remove the test for sequence type
|
1897 |
|
|
components of a sequence type.
|
1898 |
|
|
* resolve.c (resolve_fl_derived): Put the test here so that
|
1899 |
|
|
pointer components are tested.
|
1900 |
|
|
|
1901 |
|
|
2006-08-05 Steven G. Kargl
|
1902 |
|
|
|
1903 |
|
|
PR fortran/28548
|
1904 |
|
|
* resolve.c(resolve_elemental_actual): Add flags.h to use -pedantic
|
1905 |
|
|
and exclude conversion functions in conditional. Change gfc_error
|
1906 |
|
|
to gfc_warning.
|
1907 |
|
|
(warn_unused_label) Rename to ...
|
1908 |
|
|
(warn_unused_fortran_label) avoid warn_unused_label in flags.h.
|
1909 |
|
|
|
1910 |
|
|
2006-07-30 Francois-Xavier Coudert
|
1911 |
|
|
|
1912 |
|
|
* intrinsic.c (add_functions): Add ACCESS, CHMOD, RSHIFT, LSHIFT.
|
1913 |
|
|
(add_subroutines): Add LTIME, GMTIME and CHMOD.
|
1914 |
|
|
* intrinsic.h (gfc_check_access_func, gfc_check_chmod,
|
1915 |
|
|
gfc_check_chmod_sub, gfc_check_ltime_gmtime, gfc_simplify_rshift,
|
1916 |
|
|
gfc_simplify_lshift, gfc_resolve_access, gfc_resolve_chmod,
|
1917 |
|
|
gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub,
|
1918 |
|
|
gfc_resolve_gmtime, gfc_resolve_ltime): Add prototypes.
|
1919 |
|
|
* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_ACCESS,
|
1920 |
|
|
GFC_ISYM_CHMOD, GFC_ISYM_LSHIFT, GFC_ISYM_RSHIFT.
|
1921 |
|
|
* iresolve.c (gfc_resolve_access, gfc_resolve_chmod,
|
1922 |
|
|
gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub,
|
1923 |
|
|
gfc_resolve_gmtime, gfc_resolve_ltime): New functions.
|
1924 |
|
|
* check.c (gfc_check_access_func, gfc_check_chmod,
|
1925 |
|
|
gfc_check_chmod_sub, gfc_check_ltime_gmtime): New functions.
|
1926 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_rlshift): New function.
|
1927 |
|
|
(gfc_conv_intrinsic_function): Add cases for the new GFC_ISYM_*.
|
1928 |
|
|
|
1929 |
|
|
2006-07-28 Volker Reichelt
|
1930 |
|
|
|
1931 |
|
|
* Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
|
1932 |
|
|
|
1933 |
|
|
2006-07-26 Francois-Xavier Coudert
|
1934 |
|
|
|
1935 |
|
|
* intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG,
|
1936 |
|
|
LSTAT, MCLOCK and MCLOCK8 intrinsic functions.
|
1937 |
|
|
(add_subroutines): Add LSTAT intrinsic subroutine.
|
1938 |
|
|
* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_INT2,
|
1939 |
|
|
GFC_ISYM_INT8, GFC_ISYM_LONG, GFC_ISYM_LSTAT, GFC_ISYM_MCLOCK
|
1940 |
|
|
and GFC_ISYM_MCLOCK8.
|
1941 |
|
|
* iresolve.c (gfc_resolve_int2, gfc_resolve_int8,
|
1942 |
|
|
gfc_resolve_long, gfc_resolve_lstat, gfc_resolve_mclock,
|
1943 |
|
|
gfc_resolve_mclock8, gfc_resolve_lstat_sub): New functions.
|
1944 |
|
|
* check.c (gfc_check_intconv): New function.
|
1945 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
|
1946 |
|
|
the added GFC_ISYM_*.
|
1947 |
|
|
* simplify.c (gfc_simplify_intconv, gfc_simplify_int2,
|
1948 |
|
|
gfc_simplify_int8, gfc_simplify_long): New functions.
|
1949 |
|
|
* intrinsic.h (gfc_check_intconv, gfc_simplify_int2,
|
1950 |
|
|
gfc_simplify_int8, gfc_simplify_long, gfc_resolve_int2,
|
1951 |
|
|
gfc_resolve_int8, gfc_resolve_long, gfc_resolve_lstat,
|
1952 |
|
|
gfc_resolve_mclock, gfc_resolve_mclock8, gfc_resolve_lstat_sub):
|
1953 |
|
|
Add prototypes.
|
1954 |
|
|
|
1955 |
|
|
2006-07-24 Erik Edelmann
|
1956 |
|
|
|
1957 |
|
|
PR fortran/28416
|
1958 |
|
|
* trans-array.c (gfc_conv_array_parameter): Give special treatment for
|
1959 |
|
|
ALLOCATABLEs if they are themselves dummy variables.
|
1960 |
|
|
|
1961 |
|
|
2006-07-23 Jerry DeLisle
|
1962 |
|
|
|
1963 |
|
|
PR fortran/25289
|
1964 |
|
|
* gfortran.h: Declare gfc_large_io_int_kind.
|
1965 |
|
|
* trans-types.c (gfc_init_kinds): Set gfc_large_io_int_kind
|
1966 |
|
|
to size 8 or 4.
|
1967 |
|
|
* trans-io.c (enum iofield_type): Add large_io_int type.
|
1968 |
|
|
(gfc_build_st_parameter): Same.
|
1969 |
|
|
(gfc_build_io_library_fndecls): Same.
|
1970 |
|
|
* ioparm_def: Use large_io_int to define rec.
|
1971 |
|
|
|
1972 |
|
|
2006-07-22 Steven Bosscher
|
1973 |
|
|
|
1974 |
|
|
PR fortran/28439
|
1975 |
|
|
* trans-stmt.c (gfc_trans_arithmetic_if): Evaluate the condition once.
|
1976 |
|
|
|
1977 |
|
|
2006-07-16 Jakub Jelinek
|
1978 |
|
|
|
1979 |
|
|
PR fortran/28390
|
1980 |
|
|
* trans-openmp.c (gfc_trans_omp_do): Look for LASTPRIVATE in
|
1981 |
|
|
code->exp.omp_clauses rather than in the 3rd function argument.
|
1982 |
|
|
|
1983 |
|
|
2006-07-16 Paul Thomas
|
1984 |
|
|
|
1985 |
|
|
PR fortran/28384
|
1986 |
|
|
* trans-common.c (translate_common): If common_segment is NULL
|
1987 |
|
|
emit error that common block does not exist.
|
1988 |
|
|
|
1989 |
|
|
PR fortran/20844
|
1990 |
|
|
* io.c (check_io_constraints): It is an error if an ADVANCE
|
1991 |
|
|
specifier appears without an explicit format.
|
1992 |
|
|
|
1993 |
|
|
PR fortran/28201
|
1994 |
|
|
* resolve.c (resolve_generic_s): For a use_associated function,
|
1995 |
|
|
do not search for an alternative symbol in the parent name
|
1996 |
|
|
space.
|
1997 |
|
|
|
1998 |
|
|
PR fortran/20893
|
1999 |
|
|
* resolve.c (resolve_elemental_actual): New function t combine
|
2000 |
|
|
all the checks of elemental procedure actual arguments. In
|
2001 |
|
|
addition, check of array valued optional args(this PR) has
|
2002 |
|
|
been added.
|
2003 |
|
|
(resolve_function, resolve_call): Remove parts that treated
|
2004 |
|
|
elemental procedure actual arguments and call the above.
|
2005 |
|
|
|
2006 |
|
|
2006-07-14 Steven G. Kargl
|
2007 |
|
|
|
2008 |
|
|
* trans-expr.c (gfc_trans_string_copy): Evaluate the string lengths
|
2009 |
|
|
|
2010 |
|
|
006-07-13 Paul Thomas
|
2011 |
|
|
|
2012 |
|
|
PR fortran/28353
|
2013 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): Missing formal arg means
|
2014 |
|
|
that intent is INOUT (fixes regression).
|
2015 |
|
|
|
2016 |
|
|
PR fortran/25097
|
2017 |
|
|
* check.c (check_present): The only permitted reference is a
|
2018 |
|
|
full array reference.
|
2019 |
|
|
|
2020 |
|
|
PR fortran/20903
|
2021 |
|
|
* decl.c (variable_decl): Add error if a derived type is not
|
2022 |
|
|
from the current namespace if the namespace is an interface
|
2023 |
|
|
body.
|
2024 |
|
|
|
2025 |
|
|
2006-07-12 Francois-Xavier Coudert
|
2026 |
|
|
|
2027 |
|
|
PR fortran/28163
|
2028 |
|
|
* trans-expr.c (gfc_trans_string_copy): Generate inline code
|
2029 |
|
|
to perform string copying instead of calling a library function.
|
2030 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Don't build
|
2031 |
|
|
decl for copy_string.
|
2032 |
|
|
* trans.h (gfor_fndecl_copy_string): Remove prototype.
|
2033 |
|
|
|
2034 |
|
|
2006-07-11 Feng Wang
|
2035 |
|
|
|
2036 |
|
|
PR fortran/28213
|
2037 |
|
|
* trans-io.c (transfer_expr): Deal with Hollerith constants used in
|
2038 |
|
|
I/O list.
|
2039 |
|
|
|
2040 |
|
|
2006-07-07 Kazu Hirata
|
2041 |
|
|
|
2042 |
|
|
* intrinsic.texi: Fix typos.
|
2043 |
|
|
|
2044 |
|
|
2006-07-07 Paul Thomas
|
2045 |
|
|
|
2046 |
|
|
PR fortran/28237
|
2047 |
|
|
PR fortran/23420
|
2048 |
|
|
* io.c (resolve_tag): Any integer that is not an assigned
|
2049 |
|
|
variable is an error.
|
2050 |
|
|
|
2051 |
|
|
2006-07-06 Francois-Xavier Coudert
|
2052 |
|
|
|
2053 |
|
|
PR fortran/28129
|
2054 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Add a locus
|
2055 |
|
|
argument, and use it in the error messages.
|
2056 |
|
|
(gfc_conv_array_index_offset): Donc perform bounds checking on
|
2057 |
|
|
the last dimension of assumed-size arrays.
|
2058 |
|
|
|
2059 |
|
|
2006-07-06 Francois-Xavier Coudert
|
2060 |
|
|
|
2061 |
|
|
PR fortran/27874
|
2062 |
|
|
* trans-stmt.c (compute_inner_temp_size): Don't perform bounds
|
2063 |
|
|
checking when calculating the bounds of scalarization.
|
2064 |
|
|
|
2065 |
|
|
2006-07-05 Francois-Xavier Coudert
|
2066 |
|
|
|
2067 |
|
|
PR fortran/20892
|
2068 |
|
|
* interface.c (gfc_match_interface): Don't allow dummy procedures
|
2069 |
|
|
to have a generic interface.
|
2070 |
|
|
|
2071 |
|
|
2006-07-04 Paul Thomas
|
2072 |
|
|
|
2073 |
|
|
PR fortran/28174
|
2074 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): When building temp,
|
2075 |
|
|
ensure that the substring reference uses a new charlen.
|
2076 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): Add the formal intent to
|
2077 |
|
|
the argument list, lift the treatment of missing string lengths
|
2078 |
|
|
from the above and implement the use of the intent.
|
2079 |
|
|
(gfc_conv_function_call): Add the extra argument to the call to
|
2080 |
|
|
the above.
|
2081 |
|
|
|
2082 |
|
|
PR fortran/28167
|
2083 |
|
|
* trans-array.c (get_array_ctor_var_strlen): Treat a constant
|
2084 |
|
|
substring reference.
|
2085 |
|
|
* array.c (gfc_resolve_character_array_constructor): Remove
|
2086 |
|
|
static attribute and add the gfc_ prefix, make use of element
|
2087 |
|
|
charlens for the expression and pick up constant string lengths
|
2088 |
|
|
for expressions that are not themselves constant.
|
2089 |
|
|
* gfortran.h : resolve_character_array_constructor prototype
|
2090 |
|
|
added.
|
2091 |
|
|
* resolve.c (gfc_resolve_expr): Call resolve_character_array_
|
2092 |
|
|
constructor again after expanding the constructor, to ensure
|
2093 |
|
|
that the character length is passed to the expression.
|
2094 |
|
|
|
2095 |
|
|
2006-07-04 Francois-Xavier Coudert
|
2096 |
|
|
Daniel Franke
|
2097 |
|
|
|
2098 |
|
|
* intrinsic.c (add_subroutines): Add ITIME and IDATE.
|
2099 |
|
|
* intrinsic.h (gfc_check_itime_idate,gfc_resolve_idate,
|
2100 |
|
|
fc_resolve_itime): New protos.
|
2101 |
|
|
* iresolve.c (gfc_resolve_itime, gfc_resolve_idate): New functions.
|
2102 |
|
|
* check.c (gfc_check_itime_idate): New function.
|
2103 |
|
|
* intrinsic.texi: Document the new intrinsics.
|
2104 |
|
|
|
2105 |
|
|
2006-07-03 Francois-Xavier Coudert
|
2106 |
|
|
|
2107 |
|
|
* intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
|
2108 |
|
|
idate_i4,idate_i8): New functions.
|
2109 |
|
|
|
2110 |
|
|
|
2111 |
|
|
2006-07-03 Asher Langton
|
2112 |
|
|
|
2113 |
|
|
* decl.c (match_old_style_init): Add data attribute to symbol.
|
2114 |
|
|
|
2115 |
|
|
2006-07-03 Francois-Xavier Coudert
|
2116 |
|
|
|
2117 |
|
|
* iresolve.c (gfc_resolve_cpu_time, gfc_resolve_random_number):
|
2118 |
|
|
Remove ATTRIBUTE_UNUSED for used argument.
|
2119 |
|
|
|
2120 |
|
|
2006-07-03 Francois-Xavier Coudert
|
2121 |
|
|
|
2122 |
|
|
* intrinsic.texi: Document new intrinsics.
|
2123 |
|
|
|
2124 |
|
|
2006-07-01 Tobias Schlüter
|
2125 |
|
|
|
2126 |
|
|
PR fortran/19259
|
2127 |
|
|
* parse.c (next_free): Error out on line starting with semicolon.
|
2128 |
|
|
(next_fixed): Fix formatting. Error out on line starting with
|
2129 |
|
|
semicolon.
|
2130 |
|
|
|
2131 |
|
|
2006-06-30 Kazu Hirata
|
2132 |
|
|
|
2133 |
|
|
* check.c: Fix a comment typo.
|
2134 |
|
|
|
2135 |
|
|
2006-06-25 Paul Thomas
|
2136 |
|
|
|
2137 |
|
|
PR fortran/25056
|
2138 |
|
|
* interface.c (compare_actual_formal): Signal an error if the formal
|
2139 |
|
|
argument is a pure procedure and the actual is not pure.
|
2140 |
|
|
|
2141 |
|
|
PR fortran/27554
|
2142 |
|
|
* resolve.c (resolve_actual_arglist): If the type of procedure
|
2143 |
|
|
passed as an actual argument is not already declared, see if it is
|
2144 |
|
|
an intrinsic.
|
2145 |
|
|
|
2146 |
|
|
PR fortran/25073
|
2147 |
|
|
* resolve.c (resolve_select): Use bits 1 and 2 of a new int to
|
2148 |
|
|
keep track of the appearance of constant logical case expressions.
|
2149 |
|
|
Signal an error is either value appears more than once.
|
2150 |
|
|
|
2151 |
|
|
PR fortran/20874
|
2152 |
|
|
* resolve.c (resolve_fl_procedure): Signal an error if an elemental
|
2153 |
|
|
function is not scalar valued.
|
2154 |
|
|
|
2155 |
|
|
PR fortran/20867
|
2156 |
|
|
* match.c (recursive_stmt_fcn): Perform implicit typing of variables.
|
2157 |
|
|
|
2158 |
|
|
PR fortran/22038
|
2159 |
|
|
* match.c (match_forall_iterator): Mark new variables as
|
2160 |
|
|
FL_UNKNOWN if the match fails.
|
2161 |
|
|
|
2162 |
|
|
PR fortran/28119
|
2163 |
|
|
* match.c (gfc_match_forall): Remove extraneous call to
|
2164 |
|
|
gfc_match_eos.
|
2165 |
|
|
|
2166 |
|
|
PR fortran/25072
|
2167 |
|
|
* resolve.c (resolve_code, resolve_function): Rework
|
2168 |
|
|
forall_flag scheme so that it is set and has a value of
|
2169 |
|
|
2, when the code->expr (ie. the forall mask) is resolved.
|
2170 |
|
|
This is used to change "block" to "mask" in the non-PURE
|
2171 |
|
|
error message.
|
2172 |
|
|
|
2173 |
|
|
2006-06-24 Francois-Xavier Coudert
|
2174 |
|
|
|
2175 |
|
|
PR fortran/28081
|
2176 |
|
|
* resolve.c (resolve_substring): Don't issue out-of-bounds
|
2177 |
|
|
error messages when the range has zero size.
|
2178 |
|
|
|
2179 |
|
|
2006-06-24 Francois-Xavier Coudert
|
2180 |
|
|
|
2181 |
|
|
PR fortran/23862
|
2182 |
|
|
* lang-specs.h (f95-cpp-input): Pass -ffree-form to f951 unless
|
2183 |
|
|
-ffixed-form is explicitly specified.
|
2184 |
|
|
|
2185 |
|
|
2006-06-24 Paul Thomas
|
2186 |
|
|
|
2187 |
|
|
PR fortran/28118
|
2188 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): When building temp,
|
2189 |
|
|
use the substring reference to calculate the length if the
|
2190 |
|
|
expression does not have a charlen.
|
2191 |
|
|
|
2192 |
|
|
2006-06-24 Francois-Xavier Coudert
|
2193 |
|
|
|
2194 |
|
|
PR fortran/28094
|
2195 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Support cases where
|
2196 |
|
|
there is no integer kind equal to the resulting real kind.
|
2197 |
|
|
* intrinsic.c (add_functions): MODULO is not allowed as an actual
|
2198 |
|
|
argument.
|
2199 |
|
|
|
2200 |
|
|
2006-06-23 Steven G. Kargl
|
2201 |
|
|
|
2202 |
|
|
PR fortran/27981
|
2203 |
|
|
* match.c (gfc_match_if): Handle errors in assignment in simple if.
|
2204 |
|
|
|
2205 |
|
|
2006-06-22 Asher Langton
|
2206 |
|
|
|
2207 |
|
|
PR fortran/24748
|
2208 |
|
|
* primary.c (gfc_match_rvalue): Don't call match_substring for
|
2209 |
|
|
implicit non-character types.
|
2210 |
|
|
|
2211 |
|
|
2006-06-22 Francois-Xavier Coudert
|
2212 |
|
|
|
2213 |
|
|
PR libfortran/26769
|
2214 |
|
|
* iresolve.c (gfc_resolve_reshape): Call reshape_r4 and
|
2215 |
|
|
reshape_r8 instead of reshape_4 and reshape_8.
|
2216 |
|
|
(gfc_resolve_transpose): Likewise for transpose.
|
2217 |
|
|
|
2218 |
|
|
2006-06-21 Francois-Xavier Coudert
|
2219 |
|
|
|
2220 |
|
|
* trans-expr.c (gfc_conv_missing_dummy, gfc_conv_unary_op,
|
2221 |
|
|
gfc_conv_cst_int_power, gfc_conv_string_tmp,
|
2222 |
|
|
gfc_conv_function_call): Replace calls to convert on constant
|
2223 |
|
|
integer nodes by build_int_cst.
|
2224 |
|
|
* trans-stmt.c (gfc_trans_do): Likewise.
|
2225 |
|
|
* trans-io.c (set_internal_unit, transfer_namelist_element):
|
2226 |
|
|
Likewise.
|
2227 |
|
|
* trans-decl.c (build_entry_thunks): Likewise.
|
2228 |
|
|
|
2229 |
|
|
2006-06-20 Steven G. Kargl
|
2230 |
|
|
|
2231 |
|
|
* simplify.c (gfc_simplify_rrspacing): Initialize and clear mpfr_t
|
2232 |
|
|
variable.
|
2233 |
|
|
|
2234 |
|
|
2006-06-20 Paul Thomas
|
2235 |
|
|
|
2236 |
|
|
PR fortran/25049
|
2237 |
|
|
PR fortran/25050
|
2238 |
|
|
* check.c (non_init_transformational): New function.
|
2239 |
|
|
(find_substring_ref): New function to signal use of disallowed
|
2240 |
|
|
transformational intrinsic in an initialization expression.
|
2241 |
|
|
(gfc_check_all_any): Call previous if initialization expr.
|
2242 |
|
|
(gfc_check_count): The same.
|
2243 |
|
|
(gfc_check_cshift): The same.
|
2244 |
|
|
(gfc_check_dot_product): The same.
|
2245 |
|
|
(gfc_check_eoshift): The same.
|
2246 |
|
|
(gfc_check_minloc_maxloc): The same.
|
2247 |
|
|
(gfc_check_minval_maxval): The same.
|
2248 |
|
|
(gfc_check_gfc_check_product_sum): The same.
|
2249 |
|
|
(gfc_check_pack): The same.
|
2250 |
|
|
(gfc_check_spread): The same.
|
2251 |
|
|
(gfc_check_transpose): The same.
|
2252 |
|
|
(gfc_check_unpack): The same.
|
2253 |
|
|
|
2254 |
|
|
PR fortran/18769
|
2255 |
|
|
*intrinsic.c (add_functions): Add gfc_simplify_transfer.
|
2256 |
|
|
*intrinsic.h : Add prototype for gfc_simplify_transfer.
|
2257 |
|
|
*simplify.c (gfc_simplify_transfer) : New function to act as
|
2258 |
|
|
placeholder for eventual implementation. Emit error for now.
|
2259 |
|
|
|
2260 |
|
|
PR fortran/16206
|
2261 |
|
|
* expr.c (find_array_element): Eliminate condition on length of
|
2262 |
|
|
offset. Add bounds checking. Rearrange exit. Return try and
|
2263 |
|
|
put gfc_constructor result as an argument.
|
2264 |
|
|
(find_array_section): New function.
|
2265 |
|
|
(find_substring_ref): New function.
|
2266 |
|
|
(simplify_const_ref): Add calls to previous.
|
2267 |
|
|
(simplify_parameter_variable): Return on NULL expr.
|
2268 |
|
|
(gfc_simplify_expr): Only call gfc_expand_constructor for full
|
2269 |
|
|
arrays.
|
2270 |
|
|
|
2271 |
|
|
PR fortran/20876
|
2272 |
|
|
* match.c (gfc_match_forall): Add missing locus to gfc_code.
|
2273 |
|
|
|
2274 |
|
|
2006-06-18 Francois-Xavier Coudert
|
2275 |
|
|
|
2276 |
|
|
PR fortran/26801
|
2277 |
|
|
* trans-intrinsic.c (gfc_conv_associated): Use pre and post blocks
|
2278 |
|
|
of the scalarization expression.
|
2279 |
|
|
|
2280 |
|
|
2006-06-18 Jerry DeLisle
|
2281 |
|
|
|
2282 |
|
|
PR fortran/19310
|
2283 |
|
|
PR fortran/19904
|
2284 |
|
|
* arith.c (gfc_range_check): Return ARITH_OK if -fno-range-check. Add
|
2285 |
|
|
return of ARITH_NAN, ARITH_UNDERFLOW, and ARITH_OVERFLOW.
|
2286 |
|
|
(gfc_arith_divide): If -fno-range-check allow mpfr to divide by zero.
|
2287 |
|
|
* gfortran.h (gfc_option_t): Add new flag.
|
2288 |
|
|
* invoke.texi: Document new flag.
|
2289 |
|
|
* lang.opt: Add option -frange-check.
|
2290 |
|
|
* options.c (gfc_init_options): Initialize new flag.
|
2291 |
|
|
(gfc_handle_options): Set flag if invoked.
|
2292 |
|
|
* simplify.c (range_check): Add error messages for
|
2293 |
|
|
overflow, underflow, and other errors.
|
2294 |
|
|
* trans-const.c (gfc_conv_mpfr_to_tree): Build NaN and Inf from mpfr
|
2295 |
|
|
result.
|
2296 |
|
|
|
2297 |
|
|
2006-06-17 Karl Berry
|
2298 |
|
|
|
2299 |
|
|
* gfortran.texi (@dircategory): Use "Software development"
|
2300 |
|
|
instead of "Programming", following the Free Software Directory.
|
2301 |
|
|
|
2302 |
|
|
2006-06-16 Francois-Xavier Coudert
|
2303 |
|
|
|
2304 |
|
|
PR fortran/27965
|
2305 |
|
|
* trans-array.c (gfc_conv_ss_startstride): Correct the runtime
|
2306 |
|
|
conditions for bounds-checking. Check for nonzero stride.
|
2307 |
|
|
Don't check the last dimension of assumed-size arrays. Fix the
|
2308 |
|
|
dimension displayed in the error message.
|
2309 |
|
|
|
2310 |
|
|
2006-06-15 Thomas Koenig
|
2311 |
|
|
|
2312 |
|
|
* trans-array.h (gfc_trans_create_temp_array): Add bool
|
2313 |
|
|
argument.
|
2314 |
|
|
* trans-arrray.c (gfc_trans_create_temp_array): Add extra
|
2315 |
|
|
argument "function" to show if we are translating a function.
|
2316 |
|
|
If we are translating a function, perform checks whether
|
2317 |
|
|
the size along any argument is negative. In that case,
|
2318 |
|
|
allocate size 0.
|
2319 |
|
|
(gfc_trans_allocate_storage): Add function argument (as
|
2320 |
|
|
false) to gfc_trans_create_temp_array call.
|
2321 |
|
|
* trans-expr.c (gfc_conv_function_call): Add function
|
2322 |
|
|
argument (as true) to gfc_trans_create_temp_array call.
|
2323 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): Add
|
2324 |
|
|
function argument (as false) to gfc_trans_create_temp_array
|
2325 |
|
|
call.
|
2326 |
|
|
* trans-intrinsic.c: Likewise.
|
2327 |
|
|
|
2328 |
|
|
2006-06-10 Paul Thomas
|
2329 |
|
|
|
2330 |
|
|
PR fortran/24558
|
2331 |
|
|
PR fortran/20877
|
2332 |
|
|
PR fortran/25047
|
2333 |
|
|
* decl.c (get_proc_name): Add new argument to flag that a
|
2334 |
|
|
module function entry is being treated. If true, correct
|
2335 |
|
|
error condition, add symtree to module namespace and add
|
2336 |
|
|
a module procedure.
|
2337 |
|
|
(gfc_match_function_decl, gfc_match_entry,
|
2338 |
|
|
gfc_match_subroutine): Use the new argument in calls to
|
2339 |
|
|
get_proc_name.
|
2340 |
|
|
* resolve.c (resolve_entries): ENTRY symbol reference to
|
2341 |
|
|
to master entry namespace if a module function.
|
2342 |
|
|
* trans-decl.c (gfc_create_module_variable): Return if
|
2343 |
|
|
the symbol is an entry.
|
2344 |
|
|
* trans-exp.c (gfc_conv_variable): Check that parent_decl
|
2345 |
|
|
is not NULL.
|
2346 |
|
|
|
2347 |
|
|
2006-06-09 Jakub Jelinek
|
2348 |
|
|
|
2349 |
|
|
PR fortran/27916
|
2350 |
|
|
* trans-openmp.c (gfc_omp_clause_default_ctor): New function.
|
2351 |
|
|
* trans.h (gfc_omp_clause_default_ctor): New prototype.
|
2352 |
|
|
* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): Define.
|
2353 |
|
|
|
2354 |
|
|
2006-06-08 Francois-Xavier Coudert
|
2355 |
|
|
|
2356 |
|
|
PR fortran/27958
|
2357 |
|
|
* trans-expr.c (gfc_conv_substring): If the substring start is
|
2358 |
|
|
greater than its end, the length of the substring is zero, and
|
2359 |
|
|
not negative.
|
2360 |
|
|
(gfc_trans_string_copy): Don't generate a call to
|
2361 |
|
|
_gfortran_copy_string when destination length is zero.
|
2362 |
|
|
|
2363 |
|
|
2006-06-08 Asher Langton
|
2364 |
|
|
|
2365 |
|
|
PR fortran/27786
|
2366 |
|
|
* trans-array.c (gfc_conv_array_ref): Eliminate bounds checking
|
2367 |
|
|
for assumed-size Cray pointees.
|
2368 |
|
|
|
2369 |
|
|
2006-06-08 Steven G. Kargl
|
2370 |
|
|
|
2371 |
|
|
* intrinsic.c (add_subroutine): Make make_noreturn() conditional on
|
2372 |
|
|
the appropriate symbol name.
|
2373 |
|
|
|
2374 |
|
|
2006-06-07 Paul Thomas
|
2375 |
|
|
|
2376 |
|
|
PR fortran/23091
|
2377 |
|
|
* resolve.c (resolve_fl_variable): Error if an automatic
|
2378 |
|
|
object has the SAVE attribute.
|
2379 |
|
|
|
2380 |
|
|
PR fortran/24168
|
2381 |
|
|
* expr.c (simplify_intrinsic_op): Transfer the rank and
|
2382 |
|
|
the locus to the simplified expression.
|
2383 |
|
|
|
2384 |
|
|
PR fortran/25090
|
2385 |
|
|
PR fortran/25058
|
2386 |
|
|
* gfortran.h : Add int entry_id to gfc_symbol.
|
2387 |
|
|
* resolve.c : Add static variables current_entry_id and
|
2388 |
|
|
specification_expr.
|
2389 |
|
|
(resolve_variable): During code resolution, check if a
|
2390 |
|
|
reference to a dummy variable in an executable expression
|
2391 |
|
|
is preceded by its appearance as a parameter in an entry.
|
2392 |
|
|
Likewise check its specification expressions.
|
2393 |
|
|
(resolve_code): Update current_entry_id on EXEC_ENTRY.
|
2394 |
|
|
(resolve_charlen, resolve_fl_variable): Set and reset
|
2395 |
|
|
specifiaction_expr.
|
2396 |
|
|
(is_non_constant_shape_array): Do not return on detection
|
2397 |
|
|
of a variable but continue to resolve all the expressions.
|
2398 |
|
|
(resolve_codes): set current_entry_id to an out of range
|
2399 |
|
|
value.
|
2400 |
|
|
|
2401 |
|
|
2006-06-06 Mike Stump
|
2402 |
|
|
|
2403 |
|
|
* Make-lang.in: Rename to htmldir to build_htmldir to avoid
|
2404 |
|
|
installing during build.
|
2405 |
|
|
|
2406 |
|
|
2006-06-06 Paul Thomas
|
2407 |
|
|
|
2408 |
|
|
PR fortran/27897
|
2409 |
|
|
* match.c (gfc_match_common): Fix code typo. Remove
|
2410 |
|
|
sym->name, since sym is NULL, and replace with name.
|
2411 |
|
|
|
2412 |
|
|
2006-06-05 Francois-Xavier Coudert
|
2413 |
|
|
|
2414 |
|
|
PR libfortran/27895
|
2415 |
|
|
* resolve.c (compute_last_value_for_triplet): New function.
|
2416 |
|
|
(check_dimension): Correctly handle zero-sized array sections.
|
2417 |
|
|
Add checking on last element of array sections.
|
2418 |
|
|
|
2419 |
|
|
2006-06-05 Steven G. Kargl
|
2420 |
|
|
|
2421 |
|
|
* data.c (gfc_assign_data_value): Fix comment typo. Remove
|
2422 |
|
|
a spurious return.
|
2423 |
|
|
|
2424 |
|
|
2006-06-05 Paul Thomas
|
2425 |
|
|
|
2426 |
|
|
PR fortran/14067
|
2427 |
|
|
* data.c (create_character_intializer): Add warning message
|
2428 |
|
|
for truncated string.
|
2429 |
|
|
|
2430 |
|
|
PR fortran/16943
|
2431 |
|
|
* symbol.c : Include flags.h.
|
2432 |
|
|
(gfc_add_type): If a procedure and types are the same do not
|
2433 |
|
|
throw an error unless standard is less than gnu or pedantic.
|
2434 |
|
|
|
2435 |
|
|
PR fortran/20839
|
2436 |
|
|
* parse.c (parse_do_block): Error if named block do construct
|
2437 |
|
|
does not have a named enddo.
|
2438 |
|
|
|
2439 |
|
|
PR fortran/27655
|
2440 |
|
|
* check.c (gfc_check_associated): Pick up EXPR_NULL for pointer
|
2441 |
|
|
as well as target and put error return at end of function.
|
2442 |
|
|
|
2443 |
|
|
2006-06-03 Francois-Xavier Coudert
|
2444 |
|
|
|
2445 |
|
|
* trans.c (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return):
|
2446 |
|
|
Add strings for common runtime error messages.
|
2447 |
|
|
(gfc_trans_runtime_check): Add a locus argument, use a string
|
2448 |
|
|
and not a string tree for the message.
|
2449 |
|
|
* trans.h (gfc_trans_runtime_check): Change prototype accordingly.
|
2450 |
|
|
(gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): Add proto.
|
2451 |
|
|
* trans-const.c (gfc_strconst_bounds, gfc_strconst_fault,
|
2452 |
|
|
gfc_strconst_wrong_return, gfc_strconst_current_filename): Remove.
|
2453 |
|
|
(gfc_init_constants): Likewise.
|
2454 |
|
|
* trans-const.h: Likewise.
|
2455 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Call to
|
2456 |
|
|
_gfortran_runtime_error has only one argument, the message string.
|
2457 |
|
|
* trans-array.h (gfc_conv_array_ref): Add a symbol argument and a
|
2458 |
|
|
locus.
|
2459 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Build precise
|
2460 |
|
|
error messages.
|
2461 |
|
|
(gfc_conv_array_ref): Use the new symbol argument and the locus
|
2462 |
|
|
to build more precise error messages.
|
2463 |
|
|
(gfc_conv_ss_startstride): More precise error messages.
|
2464 |
|
|
* trans-expr.c (gfc_conv_variable): Give symbol reference and
|
2465 |
|
|
locus to gfc_conv_array_ref.
|
2466 |
|
|
(gfc_conv_function_call): Use the new prototype for
|
2467 |
|
|
gfc_trans_runtime_check.
|
2468 |
|
|
* trans-stmt.c (gfc_trans_goto): Build more precise error message.
|
2469 |
|
|
* trans-io.c (set_string): Likewise.
|
2470 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use new prototype
|
2471 |
|
|
for gfc_trans_runtime_check.
|
2472 |
|
|
|
2473 |
|
|
2006-06-01 Thomas Koenig
|
2474 |
|
|
|
2475 |
|
|
PR fortran/27715
|
2476 |
|
|
* arith.c: Cast the characters from the strings to unsigned
|
2477 |
|
|
char to avoid values less than 0 for extended ASCII.
|
2478 |
|
|
|
2479 |
|
|
2006-06-01 Per Bothner
|
2480 |
|
|
|
2481 |
|
|
* data.c (gfc_assign_data_value): Handle USE_MAPPED_LOCATION.
|
2482 |
|
|
* scanner.c (gfc_gobble_whitespace): Likewise.
|
2483 |
|
|
|
2484 |
|
|
2006-06-01 Paul Thomas
|
2485 |
|
|
|
2486 |
|
|
PR fortran/25098
|
2487 |
|
|
PR fortran/25147
|
2488 |
|
|
* interface.c (compare_parameter): Return 1 if the actual arg
|
2489 |
|
|
is external and the formal is a procedure.
|
2490 |
|
|
(compare_actual_formal): If the actual argument is a variable
|
2491 |
|
|
and the formal a procedure, this an error. If a gsymbol exists
|
2492 |
|
|
for a procedure of the same name, this is not yet resolved and
|
2493 |
|
|
the error is cleared.
|
2494 |
|
|
|
2495 |
|
|
* trans-intrinsic.c (gfc_conv_associated): Make provision for
|
2496 |
|
|
zero array length or zero string length contingent on presence
|
2497 |
|
|
of target, for consistency with standard.
|
2498 |
|
|
|
2499 |
|
|
2006-05-30 Asher Langton
|
2500 |
|
|
|
2501 |
|
|
* symbol.c (check_conflict): Allow external, function, and
|
2502 |
|
|
subroutine attributes with Cray pointees.
|
2503 |
|
|
* trans-expr.c (gfc_conv_function_val): Translate Cray pointees
|
2504 |
|
|
that point to procedures.
|
2505 |
|
|
* gfortran.texi: Document new feature.
|
2506 |
|
|
|
2507 |
|
|
2006-05-29 Jerry DeLisle
|
2508 |
|
|
|
2509 |
|
|
PR fortran/27634
|
2510 |
|
|
* io.c (check_format): Add error for missing period in format
|
2511 |
|
|
specifier unless -std=legacy.
|
2512 |
|
|
* gfortran.texi: Add description of expanded namelist read and
|
2513 |
|
|
missing period in format extensions.
|
2514 |
|
|
|
2515 |
|
|
2006-05-29 Francois-Xavier Coudert
|
2516 |
|
|
|
2517 |
|
|
PR fortran/19777
|
2518 |
|
|
* trans-array.c (gfc_conv_array_ref): Perform out-of-bounds
|
2519 |
|
|
checking for assumed-size arrrays for all but the last dimension.
|
2520 |
|
|
|
2521 |
|
|
2006-05-29 Francois-Xavier Coudert
|
2522 |
|
|
|
2523 |
|
|
* invoke.texi: Change -fpackderived into -fpack-derived.
|
2524 |
|
|
|
2525 |
|
|
2006-05-29 Kazu Hirata
|
2526 |
|
|
|
2527 |
|
|
* options.c, primary.c, resolve.c, trans-common.c: Fix typos
|
2528 |
|
|
in error messages.
|
2529 |
|
|
|
2530 |
|
|
2006-05-28 Kazu Hirata
|
2531 |
|
|
|
2532 |
|
|
* check.c, expr.c, resolve.c, trans-common.c,
|
2533 |
|
|
trans-intrinsic.c, trans-stmt.c, trans-types.c: Fix comment typos.
|
2534 |
|
|
|
2535 |
|
|
2006-05-27 Francois-Xavier Coudert
|
2536 |
|
|
|
2537 |
|
|
PR fortran/19777
|
2538 |
|
|
* trans-array.c (gfc_conv_array_ref): Don't perform out-of-bounds
|
2539 |
|
|
checking for assumed-size arrrays.
|
2540 |
|
|
|
2541 |
|
|
2006-05-27 Paul Thomas
|
2542 |
|
|
|
2543 |
|
|
* trans-intrinsic.c (gfc_conv_associated): If pointer in first
|
2544 |
|
|
arguments has zero array length of zero string length, return
|
2545 |
|
|
false.
|
2546 |
|
|
|
2547 |
|
|
2006-05-26 Francois-Xavier Coudert
|
2548 |
|
|
|
2549 |
|
|
PR fortran/27524
|
2550 |
|
|
* trans-array.c (gfc_trans_dummy_array_bias): Don't use stride as
|
2551 |
|
|
a temporary variable when -fbounds-check is enabled, since its
|
2552 |
|
|
value will be needed later.
|
2553 |
|
|
|
2554 |
|
|
2006-05-26 Thomas Koenig
|
2555 |
|
|
|
2556 |
|
|
PR fortran/23151
|
2557 |
|
|
* io.c (match_io): print (1,*) is an error.
|
2558 |
|
|
|
2559 |
|
|
2006-05-26 Paul Thomas
|
2560 |
|
|
|
2561 |
|
|
PR fortran/27709
|
2562 |
|
|
* resolve.c (find_array_spec): Add gfc_symbol, derived, and
|
2563 |
|
|
use to track repeated component references.
|
2564 |
|
|
|
2565 |
|
|
PR fortran/27155
|
2566 |
|
|
PR fortran/27449
|
2567 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Use
|
2568 |
|
|
se->string_length throughout and use memcpy to populate the
|
2569 |
|
|
expression returned to the scalarizer.
|
2570 |
|
|
(gfc_size_in_bytes): New function.
|
2571 |
|
|
|
2572 |
|
|
2006-05-21 Paul Thomas
|
2573 |
|
|
|
2574 |
|
|
PR fortran/27613
|
2575 |
|
|
* primary.c (gfc_match_rvalue): Test if symbol represents a
|
2576 |
|
|
direct recursive function reference. Error if array valued,
|
2577 |
|
|
go to function0 otherwise.
|
2578 |
|
|
|
2579 |
|
|
2006-05-21 Paul Thomas
|
2580 |
|
|
|
2581 |
|
|
PR fortran/25746
|
2582 |
|
|
* interface.c (gfc_extend_assign): Use new EXEC_ASSIGN_CALL.
|
2583 |
|
|
* gfortran.h : Put EXEC_ASSIGN_CALL in enum.
|
2584 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): New function.
|
2585 |
|
|
(gfc_trans_call): Call it. Add new boolian argument to flag
|
2586 |
|
|
need for dependency checking. Assert intent OUT and IN for arg1
|
2587 |
|
|
and arg2.
|
2588 |
|
|
(gfc_trans_forall_1): Use new code EXEC_ASSIGN_CALL.
|
2589 |
|
|
trans-stmt.h : Modify prototype of gfc_trans_call.
|
2590 |
|
|
trans.c (gfc_trans_code): Add call for EXEC_ASSIGN_CALL.
|
2591 |
|
|
st.c (gfc_free_statement): Free actual for EXEC_ASSIGN_CALL.
|
2592 |
|
|
* dependency.c (gfc_check_fncall_dependency): Don't check other
|
2593 |
|
|
against itself.
|
2594 |
|
|
|
2595 |
|
|
PR fortran/25090
|
2596 |
|
|
* resolve.c : Remove resolving_index_expr.
|
2597 |
|
|
(entry_parameter): Remove.
|
2598 |
|
|
(gfc_resolve_expr, resolve_charlen, resolve_fl_variable): Lift
|
2599 |
|
|
calls to entry_parameter and references to resolving_index_expr.
|
2600 |
|
|
|
2601 |
|
|
PR fortran/27584
|
2602 |
|
|
* check.c (gfc_check_associated): Replace NULL assert with an
|
2603 |
|
|
error message, since it is possible to generate bad code that
|
2604 |
|
|
has us fall through to here..
|
2605 |
|
|
|
2606 |
|
|
PR fortran/19015
|
2607 |
|
|
* iresolve.c (maxloc, minloc): If DIM is not present, pass the
|
2608 |
|
|
rank of ARRAY as the shape of the result. Otherwise, pass the
|
2609 |
|
|
shape of ARRAY, less the dimension DIM.
|
2610 |
|
|
(maxval, minval): The same, when DIM is present, otherwise no
|
2611 |
|
|
change.
|
2612 |
|
|
|
2613 |
|
|
2006-05-19 H.J. Lu
|
2614 |
|
|
|
2615 |
|
|
PR fortran/27662
|
2616 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Don't zero the
|
2617 |
|
|
first stride to indicate a temporary.
|
2618 |
|
|
* trans-expr.c (gfc_conv_function_call): Likewise.
|
2619 |
|
|
|
2620 |
|
|
2006-05-18 Francois-Xavier Coudert
|
2621 |
|
|
Feng Wang
|
2622 |
|
|
|
2623 |
|
|
PR fortran/27552
|
2624 |
|
|
* dump-parse-tree.c (gfc_show_expr): Deal with Hollerith constants.
|
2625 |
|
|
* data.c (create_character_intializer): Set from_H flag if character is
|
2626 |
|
|
initialized by Hollerith constant.
|
2627 |
|
|
|
2628 |
|
|
2006-05-17 Francois-Xavier Coudert
|
2629 |
|
|
|
2630 |
|
|
PR fortran/26551
|
2631 |
|
|
* resolve.c (resolve_call, resolve_function): Issue an error
|
2632 |
|
|
if a function or subroutine call is recursive but the function or
|
2633 |
|
|
subroutine wasn't declared as such.
|
2634 |
|
|
|
2635 |
|
|
2006-05-07 Francois-Xavier Coudert
|
2636 |
|
|
|
2637 |
|
|
PR fortran/26551
|
2638 |
|
|
* gfortran.dg/recursive_check_1.f: New test.
|
2639 |
|
|
|
2640 |
|
|
|
2641 |
|
|
2006-05-17 Francois-Xavier Coudert
|
2642 |
|
|
|
2643 |
|
|
PR fortran/27320
|
2644 |
|
|
* dump-parse-tree.c (gfc_show_code_node): Try harder to find the
|
2645 |
|
|
called procedure name.
|
2646 |
|
|
|
2647 |
|
|
2006-05-17 Jakub Jelinek
|
2648 |
|
|
|
2649 |
|
|
PR middle-end/27415
|
2650 |
|
|
* trans-openmp.c (gfc_trans_omp_parallel_do,
|
2651 |
|
|
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare): Set
|
2652 |
|
|
OMP_PARALLEL_COMBINED flag.
|
2653 |
|
|
|
2654 |
|
|
2006-05-16 H.J. Lu
|
2655 |
|
|
|
2656 |
|
|
PR driver/26885
|
2657 |
|
|
* Make-lang.in (GFORTRAN_D_OBJS): Replace gcc.o with
|
2658 |
|
|
$(GCC_OBJS).
|
2659 |
|
|
|
2660 |
|
|
2006-05-15 Paul Thomas
|
2661 |
|
|
|
2662 |
|
|
PR fortran/25090
|
2663 |
|
|
* resolve.c: Static resolving_index_expr initialized.
|
2664 |
|
|
(entry_parameter): New function to emit errors for variables
|
2665 |
|
|
that are not entry parameters.
|
2666 |
|
|
(gfc_resolve_expr): Call entry_parameter, when resolving
|
2667 |
|
|
variables, if the namespace has entries and resolving_index_expr
|
2668 |
|
|
is set.
|
2669 |
|
|
(resolve_charlen): Set resolving_index_expr before the call to
|
2670 |
|
|
resolve_index_expr and reset it afterwards.
|
2671 |
|
|
(resolve_fl_variable): The same before and after the call to
|
2672 |
|
|
is_non_constant_shape_array, which ultimately makes a call to
|
2673 |
|
|
gfc_resolve_expr.
|
2674 |
|
|
|
2675 |
|
|
PR fortran/25082
|
2676 |
|
|
* resolve.c (resolve_code): Add error condition that the return
|
2677 |
|
|
expression must be scalar.
|
2678 |
|
|
|
2679 |
|
|
PR fortran/27411
|
2680 |
|
|
* matchexp.c (gfc_get_parentheses): New function.
|
2681 |
|
|
(match_primary): Remove inline code and call above.
|
2682 |
|
|
* gfortran.h: Provide prototype for gfc_get_parentheses.
|
2683 |
|
|
* resolve.c (resolve_array_ref): Call the above, when start is a
|
2684 |
|
|
derived type variable array reference.
|
2685 |
|
|
|
2686 |
|
|
2006-05-15 Jakub Jelinek
|
2687 |
|
|
|
2688 |
|
|
PR fortran/27446
|
2689 |
|
|
* trans-openmp.c (gfc_trans_omp_array_reduction): Ensure
|
2690 |
|
|
OMP_CLAUSE_REDUCTION_{INIT,MERGE} are set to BIND_EXPR.
|
2691 |
|
|
|
2692 |
|
|
2006-05-14 H.J. Lu
|
2693 |
|
|
|
2694 |
|
|
* Make-lang.in (fortran/options.o): Depend on $(TARGET_H).
|
2695 |
|
|
|
2696 |
|
|
2006-05-11 Francois-Xavier Coudert
|
2697 |
|
|
|
2698 |
|
|
PR fortran/27553
|
2699 |
|
|
* parse.c (next_free): Return instead of calling decode_statement
|
2700 |
|
|
upon error.
|
2701 |
|
|
|
2702 |
|
|
2006-05-10 Thomas Koenig
|
2703 |
|
|
|
2704 |
|
|
PR fortran/27470
|
2705 |
|
|
* trans-array.c(gfc_array_allocate): If ref->next exists
|
2706 |
|
|
that is if there is a statement like ALLOCATE(foo%bar(2)),
|
2707 |
|
|
F95 rules require that bar should be a pointer.
|
2708 |
|
|
|
2709 |
|
|
2006-05-10 Francois-Xavier Coudert
|
2710 |
|
|
|
2711 |
|
|
PR fortran/20460
|
2712 |
|
|
* resolve.c (gfc_resolve_index): Make REAL array indices a
|
2713 |
|
|
GFC_STD_LEGACY feature.
|
2714 |
|
|
|
2715 |
|
|
2006-05-10 Francois-Xavier Coudert
|
2716 |
|
|
|
2717 |
|
|
PR fortran/24549
|
2718 |
|
|
* parse.c (reject_statement): Clear gfc_new_block.
|
2719 |
|
|
|
2720 |
|
|
2006-05-09 Steven G. Kargl
|
2721 |
|
|
|
2722 |
|
|
* invoke.texi: Missed file in previous commit. Update
|
2723 |
|
|
description of -fall-intrinsics
|
2724 |
|
|
|
2725 |
|
|
2006-05-07 Steven Boscher
|
2726 |
|
|
|
2727 |
|
|
PR fortran/27378
|
2728 |
|
|
* parse.c (next_statement): Add check to avoid an ICE when
|
2729 |
|
|
gfc_current_locus.lb is not set.
|
2730 |
|
|
|
2731 |
|
|
2006-05-07 Tobias Schlüter
|
2732 |
|
|
|
2733 |
|
|
PR fortran/27457
|
2734 |
|
|
* match.c (match_case_eos): Error out on garbage following
|
2735 |
|
|
CASE(...).
|
2736 |
|
|
|
2737 |
|
|
2006-05-07 Paul Thomas
|
2738 |
|
|
|
2739 |
|
|
PR fortran/24813
|
2740 |
|
|
* trans-array.c (get_array_ctor_strlen): Remove static attribute.
|
2741 |
|
|
* trans.h: Add prototype for get_array_ctor_strlen.
|
2742 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_len): Switch on EXPR_ARRAY
|
2743 |
|
|
and call get_array_ctor_strlen.
|
2744 |
|
|
|
2745 |
|
|
2006-05-05 Steven G. Kargl
|
2746 |
|
|
|
2747 |
|
|
* invoke.texi: Update description of -fall-intrinsics
|
2748 |
|
|
* options.c (gfc_post_options): Disable -Wnonstd-intrinsics if
|
2749 |
|
|
-fall-intrinsics is used.
|
2750 |
|
|
(gfc_handle_option): Permit -Wno-nonstd-intrinsics.
|
2751 |
|
|
|
2752 |
|
|
2006-05-04 Tobias Schlüter
|
2753 |
|
|
|
2754 |
|
|
* simplify.c (ascii_table): Fix wrong entry.
|
2755 |
|
|
|
2756 |
|
|
2006-05-02 Steven G. Kargl
|
2757 |
|
|
|
2758 |
|
|
PR fortran/26896
|
2759 |
|
|
* lang.opt: Fix -Wtab description
|
2760 |
|
|
|
2761 |
|
|
PR fortran/20248
|
2762 |
|
|
* lang.opt: New flag -fall-intrinsics.
|
2763 |
|
|
* invoke.texi: Document option.
|
2764 |
|
|
* gfortran.h (options_t): New member flag_all_intrinsics.
|
2765 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Set new option.
|
2766 |
|
|
sort nearby misplaced options.
|
2767 |
|
|
* intrinsic.c (add_sym, make_generic, make_alias): Use it.
|
2768 |
|
|
|
2769 |
|
|
2006-05-02 Paul Thomas
|
2770 |
|
|
|
2771 |
|
|
PR fortran/27269
|
2772 |
|
|
* module.c: Add static flag in_load_equiv.
|
2773 |
|
|
(mio_expr_ref): Return if no symtree and in_load_equiv.
|
2774 |
|
|
(load_equiv): If any of the equivalence members have no symtree, free
|
2775 |
|
|
the equivalence and the associated expressions.
|
2776 |
|
|
|
2777 |
|
|
PR fortran/27324
|
2778 |
|
|
* trans-common.c (gfc_trans_common): Invert the order of calls to
|
2779 |
|
|
finish equivalences and gfc_commit_symbols.
|
2780 |
|
|
|
2781 |
|
|
2006-04-29 Francois-Xavier Coudert
|
2782 |
|
|
|
2783 |
|
|
PR fortran/25681
|
2784 |
|
|
* simplify.c (simplify_len): Character variables with constant
|
2785 |
|
|
length can be simplified.
|
2786 |
|
|
|
2787 |
|
|
2006-04-29 H.J. Lu
|
2788 |
|
|
|
2789 |
|
|
PR fortran/27351
|
2790 |
|
|
* trans-array.c (gfc_conv_array_transpose): Move gcc_assert
|
2791 |
|
|
before gfc_conv_expr_descriptor.
|
2792 |
|
|
|
2793 |
|
|
2006-04-23 Paul Thomas
|
2794 |
|
|
|
2795 |
|
|
PR fortran/25099
|
2796 |
|
|
* resolve.c (resolve_call): Check conformity of elemental
|
2797 |
|
|
subroutine actual arguments.
|
2798 |
|
|
|
2799 |
|
|
2006-04-22 Jakub Jelinek
|
2800 |
|
|
|
2801 |
|
|
PR fortran/26769
|
2802 |
|
|
* iresolve.c (gfc_resolve_reshape): Use reshape_r16 for real(16).
|
2803 |
|
|
(gfc_resolve_transpose): Use transpose_r16 for real(16).
|
2804 |
|
|
|
2805 |
|
|
2006-04-21 Paul Thomas
|
2806 |
|
|
|
2807 |
|
|
PR fortran/27122
|
2808 |
|
|
* resolve.c (resolve_function): Remove general restriction on auto
|
2809 |
|
|
character length function interfaces.
|
2810 |
|
|
(gfc_resolve_uops): Check restrictions on defined operator
|
2811 |
|
|
procedures.
|
2812 |
|
|
(resolve_types): Call the check for defined operators.
|
2813 |
|
|
|
2814 |
|
|
PR fortran/27113
|
2815 |
|
|
* trans-array.c (gfc_trans_array_constructor_subarray): Remove
|
2816 |
|
|
redundant gfc_todo_error.
|
2817 |
|
|
(get_array_ctor_var_strlen): Remove typo in enum.
|
2818 |
|
|
|
2819 |
|
|
2006-04-18 Bernhard Fischer
|
2820 |
|
|
|
2821 |
|
|
* parse.c (next_free): Use consistent error string between
|
2822 |
|
|
free-form and fixed-form for illegal statement label of zero.
|
2823 |
|
|
(next_fixed): Use consistent warning string between free-form
|
2824 |
|
|
and fixed-form for statement labels for empty statements.
|
2825 |
|
|
|
2826 |
|
|
2006-04-18 Steve Ellcey
|
2827 |
|
|
|
2828 |
|
|
* trans-io.c (gfc_build_io_library_fndecls): Align pad.
|
2829 |
|
|
|
2830 |
|
|
2006-04-16 Thomas Koenig
|
2831 |
|
|
|
2832 |
|
|
PR fortran/26017
|
2833 |
|
|
* trans-array.c(gfc_array_init_size): Introduce or_expr
|
2834 |
|
|
which is true if the size along any dimension
|
2835 |
|
|
is negative. Create a temporary variable with base
|
2836 |
|
|
name size. If or_expr is true, set the temporary to 0,
|
2837 |
|
|
to the normal size otherwise.
|
2838 |
|
|
|
2839 |
|
|
2006-04-16 Paul Thomas
|
2840 |
|
|
|
2841 |
|
|
PR fortran/26822
|
2842 |
|
|
* intrinsic.c (add_functions): Mark LOGICAL as elemental.
|
2843 |
|
|
|
2844 |
|
|
PR fortran/26787
|
2845 |
|
|
* expr.c (gfc_check_assign): Extend scope of error to include
|
2846 |
|
|
assignments to a procedure in the main program or, from a
|
2847 |
|
|
module or internal procedure that is not that represented by
|
2848 |
|
|
the lhs symbol. Use VARIABLE rather than l-value in message.
|
2849 |
|
|
|
2850 |
|
|
PR fortran/27096
|
2851 |
|
|
* trans-array.c (gfc_trans_deferred_array): If the backend_decl
|
2852 |
|
|
is not a descriptor, dereference and then test and use the type.
|
2853 |
|
|
|
2854 |
|
|
PR fortran/25597
|
2855 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Check if an array
|
2856 |
|
|
result, is also automatic character length. If so, process
|
2857 |
|
|
the character length.
|
2858 |
|
|
|
2859 |
|
|
PR fortran/18003
|
2860 |
|
|
PR fortran/25669
|
2861 |
|
|
PR fortran/26834
|
2862 |
|
|
* trans_intrinsic.c (gfc_walk_intrinsic_bound): Set
|
2863 |
|
|
data.info.dimen for bound intrinsics.
|
2864 |
|
|
* trans_array.c (gfc_conv_ss_startstride): Pick out LBOUND and
|
2865 |
|
|
UBOUND intrinsics and supply their shape information to the ss
|
2866 |
|
|
and the loop.
|
2867 |
|
|
|
2868 |
|
|
PR fortran/27124
|
2869 |
|
|
* trans_expr.c (gfc_trans_function_call): Add a new block, post,
|
2870 |
|
|
in to which all the argument post blocks are put. Add this block
|
2871 |
|
|
to se->pre after a byref call or to se->post, otherwise.
|
2872 |
|
|
|
2873 |
|
|
2006-04-14 Roger Sayle
|
2874 |
|
|
|
2875 |
|
|
* trans-io.c (set_string): Use fold_build2 and build_int_cst instead
|
2876 |
|
|
of build2 and convert to construct "x < 0" rather than "x <= -1".
|
2877 |
|
|
|
2878 |
|
|
2006-04-13 Richard Henderson
|
2879 |
|
|
|
2880 |
|
|
* trans-openmp.c (gfc_trans_omp_sections): Adjust for changed
|
2881 |
|
|
number of operands to OMP_SECTIONS.
|
2882 |
|
|
|
2883 |
|
|
2006-04-08 Kazu Hirata
|
2884 |
|
|
|
2885 |
|
|
* gfortran.texi: Fix typos. Follow spelling conventions.
|
2886 |
|
|
* resolve.c, trans-expr.c, trans-stmt.c: Fix comment typos.
|
2887 |
|
|
Follow spelling conventions.
|
2888 |
|
|
|
2889 |
|
|
2006-04-05 Roger Sayle
|
2890 |
|
|
|
2891 |
|
|
* dependency.c (get_no_elements): Delete function.
|
2892 |
|
|
(get_deps): Delete function.
|
2893 |
|
|
(transform_sections): Delete function.
|
2894 |
|
|
(gfc_check_section_vs_section): Significant rewrite.
|
2895 |
|
|
|
2896 |
|
|
2006-04-04 H.J. Lu
|
2897 |
|
|
|
2898 |
|
|
PR fortran/25619
|
2899 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Only dereference
|
2900 |
|
|
character pointer when copying temporary.
|
2901 |
|
|
|
2902 |
|
|
PR fortran/23634
|
2903 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Properly copy
|
2904 |
|
|
temporary character with non constant size.
|
2905 |
|
|
|
2906 |
|
|
2006-04-03 Paul Thomas
|
2907 |
|
|
|
2908 |
|
|
PR fortran/26891
|
2909 |
|
|
* trans.h: Prototype for gfc_conv_missing_dummy.
|
2910 |
|
|
* trans-expr (gfc_conv_missing_dummy): New function
|
2911 |
|
|
(gfc_conv_function_call): Call it and tidy up some of the code.
|
2912 |
|
|
* trans-intrinsic (gfc_conv_intrinsic_function_args): The same.
|
2913 |
|
|
|
2914 |
|
|
PR fortran/26976
|
2915 |
|
|
* array.c (gfc_array_dimen_size): If available, return shape[dimen].
|
2916 |
|
|
* resolve.c (resolve_function): If available, use the argument
|
2917 |
|
|
shape for the function expression.
|
2918 |
|
|
* iresolve.c (gfc_resolve_transfer): Set shape[0] = size.
|
2919 |
|
|
|
2920 |
|
|
2006-04-02 Erik Edelmann
|
2921 |
|
|
|
2922 |
|
|
* trans-array.c (gfc_trans_dealloc_allocated): Take a
|
2923 |
|
|
tree representation of the array to be deallocated as argument
|
2924 |
|
|
instead of its gfc_symbol.
|
2925 |
|
|
(gfc_trans_deferred_array): Update call to
|
2926 |
|
|
gfc_trans_dealloc_allocated.
|
2927 |
|
|
* trans-array.h (gfc_trans_dealloc_allocated): Update
|
2928 |
|
|
prototype.
|
2929 |
|
|
* trans-expr.c (gfc_conv_function_call): Update call to
|
2930 |
|
|
gfc_trans_dealloc_allocated, get indirect reference to dummy
|
2931 |
|
|
arguments.
|
2932 |
|
|
|
2933 |
|
|
2006-04-01 Roger Sayle
|
2934 |
|
|
|
2935 |
|
|
PR fortran/25270
|
2936 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage): In array index
|
2937 |
|
|
calculations use gfc_index_zero_node and gfc_index_one_node instead
|
2938 |
|
|
of integer_zero_node and integer_one_node respectively.
|
2939 |
|
|
(gfc_conv_array_transpose): Likewise.
|
2940 |
|
|
(gfc_conv_ss_startstride): Likewise.
|
2941 |
|
|
(gfc_trans_dummy_array_bias): Likewise.
|
2942 |
|
|
|
2943 |
|
|
2006-04-01 Roger Sayle
|
2944 |
|
|
|
2945 |
|
|
* dependency.c (gfc_is_inside_range): Delete.
|
2946 |
|
|
(gfc_check_element_vs_section): Significant rewrite.
|
2947 |
|
|
|
2948 |
|
|
2006-04-01 Roger Sayle
|
2949 |
|
|
|
2950 |
|
|
* dependency.c (gfc_dep_compare_expr): Strip parentheses and unary
|
2951 |
|
|
plus operators when comparing expressions. Handle comparisons of
|
2952 |
|
|
the form "X+C vs. X", "X vs. X+C", "X-C vs. X" and "X vs. X-C" where
|
2953 |
|
|
C is an integer constant. Handle comparisons of the form "P+Q vs.
|
2954 |
|
|
R+S" and "P-Q vs. R-S". Handle comparisons of integral extensions
|
2955 |
|
|
specially (increasing functions) so extend(A) > extend(B), when A>B.
|
2956 |
|
|
(gfc_check_element_vs_element): Move test later, so that we ignore
|
2957 |
|
|
the fact that "A < B" or "A > B" when A or B contains a forall index.
|
2958 |
|
|
|
2959 |
|
|
2006-03-31 Asher Langton
|
2960 |
|
|
|
2961 |
|
|
PR fortran/25358
|
2962 |
|
|
* expr.c (gfc_check_assign): Allow cray pointee to be assumes-size.
|
2963 |
|
|
|
2964 |
|
|
2006-03-30 Paul Thomas
|
2965 |
|
|
Bud Davis
|
2966 |
|
|
|
2967 |
|
|
PR 21130
|
2968 |
|
|
* module.c (load_needed): Traverse entire tree before returning.
|
2969 |
|
|
|
2970 |
|
|
2006-03-30 Roger Sayle
|
2971 |
|
|
|
2972 |
|
|
PR middle-end/22375
|
2973 |
|
|
* trans.c (gfc_trans_runtime_check): Promote the arguments of
|
2974 |
|
|
__builtin_expect to the correct types, and the result back to
|
2975 |
|
|
boolean_type_node.
|
2976 |
|
|
|
2977 |
|
|
2006-03-29 Carlos O'Donell
|
2978 |
|
|
|
2979 |
|
|
* Make-lang.in: Rename docdir to gcc_docdir.
|
2980 |
|
|
|
2981 |
|
|
2006-03-28 Steven G. Kargl
|
2982 |
|
|
|
2983 |
|
|
* intrinsic.texi: s/floor/float in previous commit.
|
2984 |
|
|
|
2985 |
|
|
2006-03-28 Paul Thomas
|
2986 |
|
|
|
2987 |
|
|
PR fortran/26779
|
2988 |
|
|
* resolve.c (resolve_fl_procedure): Do not check the access of
|
2989 |
|
|
derived types for internal procedures.
|
2990 |
|
|
|
2991 |
|
|
2006-03-27 Jakub Jelinek
|
2992 |
|
|
|
2993 |
|
|
* io.c (check_io_constraints): Don't look at
|
2994 |
|
|
dt->advance->value.charater.string, unless it is a CHARACTER
|
2995 |
|
|
constant.
|
2996 |
|
|
|
2997 |
|
|
* f95-lang.c (gfc_get_alias_set): New function.
|
2998 |
|
|
(LANG_HOOKS_GET_ALIAS_SET): Define.
|
2999 |
|
|
|
3000 |
|
|
2006-03-25 Steven G. Kargl
|
3001 |
|
|
|
3002 |
|
|
PR fortran/26816
|
3003 |
|
|
* intrinsic.c (add_functions): Allow FLOAT to accept all integer kinds.
|
3004 |
|
|
* intrinsic.texi: Document FLOAT.
|
3005 |
|
|
|
3006 |
|
|
2006-03-25 Thomas Koenig
|
3007 |
|
|
|
3008 |
|
|
PR fortran/26769
|
3009 |
|
|
* iresolve.c (gfc_resolve_reshape): Remove doubling of
|
3010 |
|
|
kind for complex. For real(kind=10), call reshape_r10.
|
3011 |
|
|
(gfc_resolve_transpose): For real(kind=10), call
|
3012 |
|
|
transpose_r10.
|
3013 |
|
|
|
3014 |
|
|
2006-03-25 Roger Sayle
|
3015 |
|
|
|
3016 |
|
|
* dependency.c (gfc_check_dependency): Improve handling of pointers;
|
3017 |
|
|
Two variables of different types can't have a dependency, and two
|
3018 |
|
|
variables with the same symbol are equal, even if pointers.
|
3019 |
|
|
|
3020 |
|
|
2006-03-24 Roger Sayle
|
3021 |
|
|
|
3022 |
|
|
* gfortran.h (gfc_symbol): Add a new "forall_index" bit field.
|
3023 |
|
|
* match.c (match_forall_iterator): Set forall_index field on
|
3024 |
|
|
the iteration variable's symbol.
|
3025 |
|
|
* dependency.c (contains_forall_index_p): New function to
|
3026 |
|
|
traverse a gfc_expr to check whether it contains a variable
|
3027 |
|
|
with forall_index set in it's symbol.
|
3028 |
|
|
(gfc_check_element_vs_element): Return GFC_DEP_EQUAL for scalar
|
3029 |
|
|
constant expressions that don't variables used as FORALL indices.
|
3030 |
|
|
|
3031 |
|
|
2006-03-22 Volker Reichelt
|
3032 |
|
|
|
3033 |
|
|
PR driver/22600
|
3034 |
|
|
* error.c (gfc_fatal_error): Return ICE_EXIT_CODE instead of 4.
|
3035 |
|
|
|
3036 |
|
|
2006-03-22 Thomas Koenig
|
3037 |
|
|
|
3038 |
|
|
PR fortran/19303
|
3039 |
|
|
* gfortran.h (gfc_option_t): Add record_marker.
|
3040 |
|
|
* lang.opt: Add -frecord-marker=4 and -frecord-marker=8.
|
3041 |
|
|
* trans-decl.c: Add gfor_fndecl_set_record_marker.
|
3042 |
|
|
(gfc_build_builtin_function_decls): Set
|
3043 |
|
|
gfor_fndecl_set_record_marker.
|
3044 |
|
|
(gfc_generate_function_code): If we are in the main program
|
3045 |
|
|
and -frecord-marker was provided, call set_record_marker.
|
3046 |
|
|
* options.c (gfc_handle_option): Add handling for
|
3047 |
|
|
-frecord-marker=4 and -frecord-marker=8.
|
3048 |
|
|
* invoke.texi: Document -frecord-marker.
|
3049 |
|
|
|
3050 |
|
|
2006-03-22 Paul Thomas
|
3051 |
|
|
|
3052 |
|
|
PR fortran/17298
|
3053 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): New
|
3054 |
|
|
function to implement array valued TRANSFER intrinsic.
|
3055 |
|
|
(gfc_conv_intrinsic_function): Call the new function if TRANSFER
|
3056 |
|
|
and non-null se->ss.
|
3057 |
|
|
(gfc_walk_intrinsic_function): Treat TRANSFER as one of the
|
3058 |
|
|
special cases by calling gfc_walk_intrinsic_libfunc directly.
|
3059 |
|
|
|
3060 |
|
|
2006-03-21 Toon Moene
|
3061 |
|
|
|
3062 |
|
|
* options.c (gfc_init_options): Initialize
|
3063 |
|
|
flag_argument_noalias to 3.
|
3064 |
|
|
|
3065 |
|
|
2006-03-20 Thomas Koenig
|
3066 |
|
|
|
3067 |
|
|
PR fortran/20935
|
3068 |
|
|
* iresolve.c (gfc_resolve_maxloc): If mask is scalar,
|
3069 |
|
|
prefix the function name with an "s". If the mask is scalar
|
3070 |
|
|
or if its kind is smaller than gfc_default_logical_kind,
|
3071 |
|
|
coerce it to default kind.
|
3072 |
|
|
(gfc_resolve_maxval): Likewise.
|
3073 |
|
|
(gfc_resolve_minloc): Likewise.
|
3074 |
|
|
(gfc_resolve_minval): Likewise.
|
3075 |
|
|
(gfc_resolve_product): Likewise.
|
3076 |
|
|
(gfc_resolve_sum): Likewise.
|
3077 |
|
|
|
3078 |
|
|
2006-03-19 Paul Thomas
|
3079 |
|
|
|
3080 |
|
|
PR fortran/26741
|
3081 |
|
|
*expr.c (external_spec_function): Permit elemental functions.
|
3082 |
|
|
|
3083 |
|
|
PR fortran/26716
|
3084 |
|
|
*interface.c (compare_actual_formal): Detect call for procedure
|
3085 |
|
|
usage and require rank checking, in this case, for assumed shape
|
3086 |
|
|
and deferred shape arrays.
|
3087 |
|
|
(gfc_procedure_use): Revert to pre-PR25070 call to
|
3088 |
|
|
compare_actual_formal that does not require rank checking..
|
3089 |
|
|
|
3090 |
|
|
2006-03-16 Roger Sayle
|
3091 |
|
|
|
3092 |
|
|
* gfortran.h (gfc_equiv_info): Add length field.
|
3093 |
|
|
* trans-common.c (copy_equiv_list_to_ns): Set the length field.
|
3094 |
|
|
* dependency.c (gfc_are_equivalenced_arrays): Use both the offset
|
3095 |
|
|
and length fields to determine whether the two equivalenced symbols
|
3096 |
|
|
overlap in memory.
|
3097 |
|
|
|
3098 |
|
|
2006-03-14 Jerry DeLisle
|
3099 |
|
|
|
3100 |
|
|
PR fortran/19101
|
3101 |
|
|
* gfortran.h: Add warn_ampersand.
|
3102 |
|
|
* invoke.texi: Add documentation for new option.
|
3103 |
|
|
* lang.opt: Add Wampersand.
|
3104 |
|
|
* options.c (gfc_init_options): Initialize warn_ampersand.
|
3105 |
|
|
(gfc_post_options): Set the warn if pedantic.
|
3106 |
|
|
(set_Wall): Set warn_ampersand.
|
3107 |
|
|
(gfc_handle_option: Add Wampersand for itself, -std=f95, and -std=f2003.
|
3108 |
|
|
* scanner.c (gfc_next_char_literal): Add test for missing '&' in
|
3109 |
|
|
continued character constant and give warning if missing.
|
3110 |
|
|
|
3111 |
|
|
2006-03-14 Steven G. Kargl
|
3112 |
|
|
|
3113 |
|
|
PR 18537
|
3114 |
|
|
* gfortran.h: Wrap Copyright line.
|
3115 |
|
|
(gfc_option_t): add warn_tabs member.
|
3116 |
|
|
* lang.opt: Update Coyright year. Add the Wtabs.
|
3117 |
|
|
* invoke.texi: Document -Wtabs.
|
3118 |
|
|
* scanner.c (gfc_gobble_whitespace): Use warn_tabs. Add linenum to
|
3119 |
|
|
suppress multiple warnings.
|
3120 |
|
|
(load_line): Use warn_tabs. Add linenum, current_line, seen_comment
|
3121 |
|
|
to suppress multiple warnings.
|
3122 |
|
|
* options.c (gfc_init_options): Initialize warn_tabs.
|
3123 |
|
|
(set_Wall): set warn_tabs for -Wall.
|
3124 |
|
|
(gfc_post_options): Adjust flag_tabs depending on -pedantic.
|
3125 |
|
|
(gfc_handle_option): Process command-line option -W[no-]tabs
|
3126 |
|
|
|
3127 |
|
|
2006-03-13 Paul Thomas
|
3128 |
|
|
|
3129 |
|
|
PR fortran/25378
|
3130 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and
|
3131 |
|
|
modify the condition for updating it, to implement the F2003 requirement for all(mask)
|
3132 |
|
|
is false.
|
3133 |
|
|
|
3134 |
|
|
2006-03-13 Jakub Jelinek
|
3135 |
|
|
|
3136 |
|
|
* trans-openmp.c (gfc_trans_omp_variable): Handle references
|
3137 |
|
|
to parent result.
|
3138 |
|
|
* trans-expr.c (gfc_conv_variable): Remove useless setting
|
3139 |
|
|
of parent_flag, formatting.
|
3140 |
|
|
|
3141 |
|
|
* trans-decl.c (gfc_get_fake_result_decl): Re-add setting of
|
3142 |
|
|
GFC_DECL_RESULT flag.
|
3143 |
|
|
|
3144 |
|
|
2006-03-11 Roger Sayle
|
3145 |
|
|
|
3146 |
|
|
* dependency.c (gfc_dep_compare_expr) : Allow unary and
|
3147 |
|
|
binary operators to compare equal if their operands are equal.
|
3148 |
|
|
: Allow "constant" intrinsic conversion functions
|
3149 |
|
|
to compare equal, if their operands are equal.
|
3150 |
|
|
|
3151 |
|
|
2006-03-11 Erik Edelmann
|
3152 |
|
|
|
3153 |
|
|
* symbol.c (check_conflict): Allow allocatable function results,
|
3154 |
|
|
except for elemental functions.
|
3155 |
|
|
* trans-array.c (gfc_trans_allocate_temp_array): Rename to ...
|
3156 |
|
|
(gfc_trans_create_temp_array): ... this, and add new argument
|
3157 |
|
|
callee_alloc.
|
3158 |
|
|
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call
|
3159 |
|
|
to gfc_trans_allocate_temp_array.
|
3160 |
|
|
* trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
|
3161 |
|
|
* trans-expr.c (gfc_conv_function_call): Use new arg of
|
3162 |
|
|
gfc_trans_create_temp_array avoid pre-allocation of temporary
|
3163 |
|
|
result variables of pointer AND allocatable functions.
|
3164 |
|
|
(gfc_trans_arrayfunc_assign): Return NULL for allocatable
|
3165 |
|
|
functions.
|
3166 |
|
|
* resolve.c (resolve_symbol): Copy value of 'allocatable' attribute
|
3167 |
|
|
from sym->result to sym.
|
3168 |
|
|
|
3169 |
|
|
2006-03-09 Erik Edelmann
|
3170 |
|
|
|
3171 |
|
|
* trans-expr.c (gfc_add_interface_mapping): Copy 'allocatable'
|
3172 |
|
|
attribute from sym to new_sym. Call build_fold_indirect_ref()
|
3173 |
|
|
for allocatable arguments.
|
3174 |
|
|
|
3175 |
|
|
2006-03-09 Paul Thomas
|
3176 |
|
|
|
3177 |
|
|
PR fortran/26257
|
3178 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Exclude calculation of
|
3179 |
|
|
the offset and data when se->data_not_needed is set.
|
3180 |
|
|
* trans.h: Include the data_not_need bit in gfc_se.
|
3181 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_size): Set it for SIZE.
|
3182 |
|
|
|
3183 |
|
|
2006-03-06 Paul Thomas
|
3184 |
|
|
Erik Edelmann
|
3185 |
|
|
|
3186 |
|
|
* trans-array.c (gfc_trans_dealloc_allocated): New function.
|
3187 |
|
|
(gfc_trans_deferred_array): Use it, instead of inline code.
|
3188 |
|
|
* trans-array.h: Prototype for gfc_trans_dealloc_allocated().
|
3189 |
|
|
* trans-expr.c (gfc_conv_function_call): Deallocate allocated
|
3190 |
|
|
ALLOCATABLE, INTENT(OUT) arguments upon procedure entry.
|
3191 |
|
|
|
3192 |
|
|
2006-03-06 Paul Thomas
|
3193 |
|
|
|
3194 |
|
|
PR fortran/26107
|
3195 |
|
|
* resolve.c (resolve_function): Add name after test for pureness.
|
3196 |
|
|
|
3197 |
|
|
PR fortran/19546
|
3198 |
|
|
* trans-expr.c (gfc_conv_variable): Detect reference to parent result,
|
3199 |
|
|
store current_function_decl, replace with parent, whilst calls are
|
3200 |
|
|
made to gfc_get_fake_result_decl, and restore afterwards. Signal this
|
3201 |
|
|
to gfc_get_fake_result_decl with a new argument, parent_flag.
|
3202 |
|
|
* trans-stmt.c (gfc_trans_return): gfc_get_fake_result_decl 2nd arg
|
3203 |
|
|
is set to zero.
|
3204 |
|
|
* trans.h: Add parent_flag to gfc_get_fake_result_decl prototype.
|
3205 |
|
|
* trans-decl.c (gfc_get_fake_result_decl): On parent_flag, being set,
|
3206 |
|
|
add decl to parent function. Replace refs to current_fake_result_decl
|
3207 |
|
|
with refs to this_result_decl.
|
3208 |
|
|
(gfc_generate_function_code): Null parent_fake_result_decl before the
|
3209 |
|
|
translation of code for contained procedures. Set parent_flag to zero
|
3210 |
|
|
in call to gfc_get_fake_result_decl.
|
3211 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_len): The same.
|
3212 |
|
|
|
3213 |
|
|
2006-03-05 Steven G. Kargl
|
3214 |
|
|
|
3215 |
|
|
* simplify.c (gfc_simplify_verify): Fix return when SET=''.
|
3216 |
|
|
|
3217 |
|
|
2006-03-05 Erik Edelmann
|
3218 |
|
|
|
3219 |
|
|
PR fortran/16136
|
3220 |
|
|
* symbol.c (conf_std): New macro.
|
3221 |
|
|
(check_conflict): Use it to allow ALLOCATABLE dummy
|
3222 |
|
|
arguments for F2003.
|
3223 |
|
|
* trans-expr.c (gfc_conv_function_call): Pass the
|
3224 |
|
|
address of the array descriptor when dummy argument is
|
3225 |
|
|
ALLOCATABLE.
|
3226 |
|
|
* interface.c (compare_allocatable): New function.
|
3227 |
|
|
(compare_actual_formal): Use it.
|
3228 |
|
|
* resolve.c (resolve_deallocate_expr,
|
3229 |
|
|
resolve_allocate_expr): Check that INTENT(IN) variables
|
3230 |
|
|
aren't (de)allocated.
|
3231 |
|
|
* gfortran.texi (Fortran 2003 status): List ALLOCATABLE
|
3232 |
|
|
dummy arguments as supported.
|
3233 |
|
|
|
3234 |
|
|
2006-03-03 Roger Sayle
|
3235 |
|
|
|
3236 |
|
|
* dependency.c (gfc_check_element_vs_element): Revert last change.
|
3237 |
|
|
|
3238 |
|
|
2006-03-03 Roger Sayle
|
3239 |
|
|
|
3240 |
|
|
* dependency.c (gfc_check_element_vs_element): Consider two
|
3241 |
|
|
unordered scalar subscripts as (potentially) equal.
|
3242 |
|
|
|
3243 |
|
|
2006-03-03 Roger Sayle
|
3244 |
|
|
|
3245 |
|
|
* dependency.c (gfc_check_dependency): Call gfc_dep_resolver to
|
3246 |
|
|
check whether two array references have a dependency.
|
3247 |
|
|
(gfc_check_element_vs_element): Assume lref and rref must be
|
3248 |
|
|
REF_ARRAYs. If gfc_dep_compare_expr returns -2, assume these
|
3249 |
|
|
references could potentially overlap.
|
3250 |
|
|
(gfc_dep_resolver): Whitespace and comment tweaks. Assume a
|
3251 |
|
|
dependency if the references have different depths. Rewrite
|
3252 |
|
|
final term to clarrify we only have a dependency for overlaps.
|
3253 |
|
|
|
3254 |
|
|
2006-03-03 Thomas Koenig
|
3255 |
|
|
|
3256 |
|
|
PR fortran/25031
|
3257 |
|
|
* trans-array.h: Adjust gfc_array_allocate prototype.
|
3258 |
|
|
* trans-array.c (gfc_array_allocate): Change type of
|
3259 |
|
|
gfc_array_allocatate to bool. Function returns true if
|
3260 |
|
|
it operates on an array. Change second argument to gfc_expr.
|
3261 |
|
|
Find last reference in chain.
|
3262 |
|
|
If the function operates on an allocatable array, emit call to
|
3263 |
|
|
allocate_array() or allocate64_array().
|
3264 |
|
|
* trans-stmt.c (gfc_trans_allocate): Code to follow to last
|
3265 |
|
|
reference has been moved to gfc_array_allocate.
|
3266 |
|
|
* trans.h: Add declaration for gfor_fndecl_allocate_array and
|
3267 |
|
|
gfor_fndecl_allocate64_array.
|
3268 |
|
|
(gfc_build_builtin_function_decls): Add gfor_fndecl_allocate_array
|
3269 |
|
|
and gfor_fndecl_allocate64_array.
|
3270 |
|
|
|
3271 |
|
|
2006-03-01 Roger Sayle
|
3272 |
|
|
|
3273 |
|
|
* trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional
|
3274 |
|
|
INVERT argument to invert the sense of the WHEREMASK argument.
|
3275 |
|
|
Remove unneeded code to AND together a list of masks.
|
3276 |
|
|
(generate_loop_for_rhs_to_temp): Likewise.
|
3277 |
|
|
(gfc_trans_assign_need_temp): Likewise.
|
3278 |
|
|
(gfc_trans_forall_1): Likewise.
|
3279 |
|
|
(gfc_evaluate_where_mask): Likewise, add a new INVERT argument
|
3280 |
|
|
to specify the sense of the MASK argument.
|
3281 |
|
|
(gfc_trans_where_assign): Likewise.
|
3282 |
|
|
(gfc_trans_where_2): Likewise. Restructure code that decides
|
3283 |
|
|
whether we need to allocate zero, one or two temporary masks.
|
3284 |
|
|
If this is a top-level WHERE (i.e. the incoming MASK is NULL),
|
3285 |
|
|
we only need to allocate at most one temporary mask, and can
|
3286 |
|
|
invert it's sense to provide the complementary pending execution
|
3287 |
|
|
mask. Only calculate the size of the required temporary arrays
|
3288 |
|
|
if we need any.
|
3289 |
|
|
(gfc_trans_where): Update call to gfc_trans_where_2.
|
3290 |
|
|
|
3291 |
|
|
2006-03-01 Paul Thomas
|
3292 |
|
|
|
3293 |
|
|
* iresolve.c (gfc_resolve_dot_product): Remove any difference in
|
3294 |
|
|
treatment of logical types.
|
3295 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): New function.
|
3296 |
|
|
|
3297 |
|
|
PR fortran/26393
|
3298 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Extend condition that symbols
|
3299 |
|
|
must be referenced to include unreferenced symbols in an interface
|
3300 |
|
|
body.
|
3301 |
|
|
|
3302 |
|
|
PR fortran/20938
|
3303 |
|
|
* trans-array.c (gfc_conv_resolve_dependencies): Add call to
|
3304 |
|
|
gfc_are_equivalenced_arrays.
|
3305 |
|
|
* symbol.c (gfc_free_equiv_infos, gfc_free_equiv_lists): New
|
3306 |
|
|
functions. (gfc_free_namespace): Call them.
|
3307 |
|
|
* trans-common.c (copy_equiv_list_to_ns): New function.
|
3308 |
|
|
(add_equivalences): Call it.
|
3309 |
|
|
* gfortran.h: Add equiv_lists to gfc_namespace and define
|
3310 |
|
|
gfc_equiv_list and gfc_equiv_info.
|
3311 |
|
|
* dependency.c (gfc_are_equivalenced_arrays): New function.
|
3312 |
|
|
(gfc_check_dependency): Call it.
|
3313 |
|
|
* dependency.h: Prototype for gfc_are_equivalenced_arrays.
|
3314 |
|
|
|
3315 |
|
|
2006-03-01 Roger Sayle
|
3316 |
|
|
|
3317 |
|
|
* dependency.c (gfc_is_same_range): Compare the stride, lower and
|
3318 |
|
|
upper bounds when testing array reference ranges for equality.
|
3319 |
|
|
(gfc_check_dependency): Fix indentation whitespace.
|
3320 |
|
|
(gfc_check_element_vs_element): Likewise.
|
3321 |
|
|
(gfc_dep_resolver): Likewise.
|
3322 |
|
|
|
3323 |
|
|
2006-02-28 Thomas Koenig
|
3324 |
|
|
|
3325 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
|
3326 |
|
|
If the mask expression exists and has rank 0, enclose the
|
3327 |
|
|
generated loop in an "if (mask)". Put the default
|
3328 |
|
|
initialization into the else branch.
|
3329 |
|
|
|
3330 |
|
|
2006-02-25 Thomas Koenig
|
3331 |
|
|
|
3332 |
|
|
PR fortran/23092
|
3333 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_arith): If the
|
3334 |
|
|
mask expression exists and has rank 0, enclose the generated
|
3335 |
|
|
loop in an "if (mask)".
|
3336 |
|
|
* (gfc_conv_intrinsic_minmaxloc): Likewise.
|
3337 |
|
|
|
3338 |
|
|
2006-02-24 Paul Thomas
|
3339 |
|
|
|
3340 |
|
|
PR fortran/26409
|
3341 |
|
|
* resolve.c (resolve_contained_functions, resolve_types,
|
3342 |
|
|
gfc_resolve): Revert patch of 2006-02-19.
|
3343 |
|
|
|
3344 |
|
|
2006-02-24 Paul Thomas
|
3345 |
|
|
|
3346 |
|
|
PR fortran/24519
|
3347 |
|
|
* dependency.c (gfc_is_same_range): Correct typo.
|
3348 |
|
|
(gfc_check_section_vs_section): Call gfc_is_same_range.
|
3349 |
|
|
|
3350 |
|
|
PR fortran/25395
|
3351 |
|
|
* trans-common.c (add_equivalences): Add a new flag that is set when
|
3352 |
|
|
an equivalence is seen that prevents more from being reset until the
|
3353 |
|
|
start of a new traversal of the list, thus ensuring completion of
|
3354 |
|
|
all the equivalences.
|
3355 |
|
|
|
3356 |
|
|
2006-02-23 Erik Edelmann
|
3357 |
|
|
|
3358 |
|
|
* module.c (read_module): Remove redundant code lines.
|
3359 |
|
|
|
3360 |
|
|
2006-02-20 Rafael Ávila de Espíndola
|
3361 |
|
|
* Make-lang.in (FORTRAN): Remove
|
3362 |
|
|
(.PHONY): Remove F95 and f95. Add fortran
|
3363 |
|
|
|
3364 |
|
|
2006-02-20 Roger Sayle
|
3365 |
|
|
|
3366 |
|
|
* trans-stmt.c (gfc_trans_where_2): Avoid updating unused current
|
3367 |
|
|
execution mask for empty WHERE/ELSEWHERE clauses. Don't allocate
|
3368 |
|
|
temporary mask arrays if they won't be used.
|
3369 |
|
|
|
3370 |
|
|
2006-02-20 Roger Sayle
|
3371 |
|
|
|
3372 |
|
|
* trans-stmt.c (gfc_trans_where_assign): Remove code to handle
|
3373 |
|
|
traversing a linked list of MASKs. The MASK is now always a
|
3374 |
|
|
single element requiring no ANDing during the assignment.
|
3375 |
|
|
|
3376 |
|
|
2006-02-19 Thomas Koenig
|
3377 |
|
|
|
3378 |
|
|
* gfortran.texi: Document environment variables which
|
3379 |
|
|
influence runtime behavior.
|
3380 |
|
|
|
3381 |
|
|
2006-02-19 H.J. Lu
|
3382 |
|
|
|
3383 |
|
|
* resolve.c (resolve_contained_functions): Call resolve_entries
|
3384 |
|
|
first.
|
3385 |
|
|
(resolve_types): Remove calls to resolve_entries and
|
3386 |
|
|
resolve_contained_functions.
|
3387 |
|
|
(gfc_resolve): Call resolve_contained_functions.
|
3388 |
|
|
|
3389 |
|
|
2006-02-19 Erik Edelmann
|
3390 |
|
|
|
3391 |
|
|
PR fortran/26201
|
3392 |
|
|
* intrinsic.c (gfc_convert_type_warn): Call
|
3393 |
|
|
gfc_intrinsic_symbol() on the newly created symbol.
|
3394 |
|
|
|
3395 |
|
|
2006-02-19 Paul Thomas
|
3396 |
|
|
|
3397 |
|
|
PR fortran/25054
|
3398 |
|
|
* resolve.c (is_non_constant_shape_array): New function.
|
3399 |
|
|
(resolve_fl_variable): Remove code for the new function and call it.
|
3400 |
|
|
(resolve_fl_namelist): New function. Add test for namelist array
|
3401 |
|
|
with non-constant shape, using is_non_constant_shape_array.
|
3402 |
|
|
(resolve_symbol): Remove code for resolve_fl_namelist and call it.
|
3403 |
|
|
|
3404 |
|
|
PR fortran/25089
|
3405 |
|
|
* match.c (match_namelist): Increment the refs field of an accepted
|
3406 |
|
|
namelist object symbol.
|
3407 |
|
|
* resolve.c (resolve_fl_namelist): Test namelist objects for a conflict
|
3408 |
|
|
with contained or module procedures.
|
3409 |
|
|
|
3410 |
|
|
2006-02-18 Roger Sayle
|
3411 |
|
|
|
3412 |
|
|
* trans-stmt.c (struct temporary_list): Delete.
|
3413 |
|
|
(gfc_trans_where_2): Major reorganization. Remove no longer needed
|
3414 |
|
|
TEMP argument. Allocate and deallocate the control mask and
|
3415 |
|
|
pending control mask locally.
|
3416 |
|
|
(gfc_trans_forall_1): Delete TEMP local variable, and update
|
3417 |
|
|
call to gfc_trans_where_2. No need to deallocate arrays after.
|
3418 |
|
|
(gfc_evaluate_where_mask): Major reorganization. Change return
|
3419 |
|
|
type to void. Pass in parent execution mask, MASK, and two
|
3420 |
|
|
already allocated mask arrays CMASK and PMASK. On return
|
3421 |
|
|
CMASK := MASK & COND, PMASK := MASK & !COND. MASK, CMASK and
|
3422 |
|
|
CMASK may all be NULL, or refer to the same temporary arrays.
|
3423 |
|
|
(gfc_trans_where): Update call to gfc_trans_where_2. We no
|
3424 |
|
|
longer need a TEMP variable or to deallocate temporary arrays
|
3425 |
|
|
allocated by gfc_trans_where_2.
|
3426 |
|
|
|
3427 |
|
|
2006-02-18 Danny Smith
|
3428 |
|
|
|
3429 |
|
|
* gfortran.h (gfc_add_attribute): Change uint to unsigned int.
|
3430 |
|
|
* symbol.c (gfc_add_attribute): Likewise for definition.
|
3431 |
|
|
* resolve.c (resolve_global_procedure): Likewise for variable 'type'.
|
3432 |
|
|
|
3433 |
|
|
2006-02-17 Richard Sandiford
|
3434 |
|
|
|
3435 |
|
|
* trans-common.c: Include rtl.h earlier.
|
3436 |
|
|
* trans-decl.c: Likewise.
|
3437 |
|
|
|
3438 |
|
|
2006-02-16 Jakub Jelinek
|
3439 |
|
|
|
3440 |
|
|
PR fortran/26224
|
3441 |
|
|
* parse.c (parse_omp_do, parse_omp_structured_block): Call
|
3442 |
|
|
gfc_commit_symbols and gfc_warning_check.
|
3443 |
|
|
|
3444 |
|
|
* openmp.c (resolve_omp_clauses): Add a dummy case label to workaround
|
3445 |
|
|
PR middle-end/26316.
|
3446 |
|
|
|
3447 |
|
|
2006-02-16 Paul Thomas
|
3448 |
|
|
|
3449 |
|
|
PR fortran/24557
|
3450 |
|
|
* trans-expr.c (gfc_add_interface_mapping): Use the actual argument
|
3451 |
|
|
for character(*) arrays, rather than casting to the type and kind
|
3452 |
|
|
parameters of the formal argument.
|
3453 |
|
|
|
3454 |
|
|
2006-02-15 Toon Moene
|
3455 |
|
|
|
3456 |
|
|
PR fortran/26054
|
3457 |
|
|
* options.c: Do not warn for Fortran 2003 features by default.
|
3458 |
|
|
|
3459 |
|
|
2006-02-15 Tobias Schlüter
|
3460 |
|
|
|
3461 |
|
|
* check.c: Update copyright years.
|
3462 |
|
|
|
3463 |
|
|
* check.c (gfc_check_minloc_maxloc, check_reduction): Don't call
|
3464 |
|
|
dim_range_check on not-present optional dim argument.
|
3465 |
|
|
|
3466 |
|
|
2006-02-15 Jakub Jelinek
|
3467 |
|
|
|
3468 |
|
|
PR libgomp/25938
|
3469 |
|
|
PR libgomp/25984
|
3470 |
|
|
* Make-lang.in (install-finclude-dir): New goal.
|
3471 |
|
|
(fortran.install-common): Depend on install-finclude-dir.
|
3472 |
|
|
* lang-specs.h: If not -nostdinc, add -I finclude.
|
3473 |
|
|
|
3474 |
|
|
2006-02-14 Thomas Koenig
|
3475 |
|
|
|
3476 |
|
|
PR fortran/25045
|
3477 |
|
|
* check.c (dim_check): Perform all checks if dim is optional.
|
3478 |
|
|
(gfc_check_minloc_maxloc): Use dim_check and dim_rank_check
|
3479 |
|
|
to check dim argument.
|
3480 |
|
|
(check_reduction): Likewise.
|
3481 |
|
|
|
3482 |
|
|
2006-02-14 Tobias Schlüter
|
3483 |
|
|
|
3484 |
|
|
PR fortran/26277
|
3485 |
|
|
* io.c (match_ltag): Mark label as referenced.
|
3486 |
|
|
|
3487 |
|
|
2006-02-14 Jakub Jelinek
|
3488 |
|
|
Richard Henderson
|
3489 |
|
|
Diego Novillo
|
3490 |
|
|
|
3491 |
|
|
* invoke.texi: Document -fopenmp.
|
3492 |
|
|
* gfortran.texi (Extensions): Document OpenMP.
|
3493 |
|
|
|
3494 |
|
|
Backport from gomp-20050608-branch
|
3495 |
|
|
* trans-openmp.c: Call build_omp_clause instead of
|
3496 |
|
|
make_node when creating OMP_CLAUSE_* trees.
|
3497 |
|
|
(gfc_trans_omp_reduction_list): Remove argument 'code'.
|
3498 |
|
|
Adjust all callers.
|
3499 |
|
|
|
3500 |
|
|
* trans.h (build4_v): Define.
|
3501 |
|
|
* trans-openmp.c: Call build4_v to create OMP_PARALLEL nodes.
|
3502 |
|
|
Call build3_v to create OMP_SECTIONS nodes.
|
3503 |
|
|
|
3504 |
|
|
PR fortran/25162
|
3505 |
|
|
* openmp.c (gfc_match_omp_variable_list): Call gfc_set_sym_referenced
|
3506 |
|
|
on all symbols added to the variable list.
|
3507 |
|
|
|
3508 |
|
|
* openmp.c (gfc_match_omp_clauses): Fix check for non-INTRINSIC
|
3509 |
|
|
procedure symbol in REDUCTION.
|
3510 |
|
|
|
3511 |
|
|
* trans-openmp.c (gfc_trans_omp_array_reduction): Use gfc_add
|
3512 |
|
|
for MINUS_EXPR OMP_CLAUSE_REDUCTION_CODE.
|
3513 |
|
|
|
3514 |
|
|
* trans-openmp.c (gfc_trans_omp_do): Add PBLOCK argument. If PBLOCK
|
3515 |
|
|
is non-NULL, evaluate INIT/COND/INCR and chunk size expressions in
|
3516 |
|
|
that statement block.
|
3517 |
|
|
(gfc_trans_omp_parallel_do): Pass non-NULL PBLOCK to gfc_trans_omp_do
|
3518 |
|
|
for non-ordered non-static combined loops.
|
3519 |
|
|
(gfc_trans_omp_directive): Pass NULL PBLOCK to gfc_trans_omp_do.
|
3520 |
|
|
|
3521 |
|
|
* openmp.c: Include target.h and toplev.h.
|
3522 |
|
|
(gfc_match_omp_threadprivate): Emit diagnostic if target does
|
3523 |
|
|
not support TLS.
|
3524 |
|
|
* Make-lang.in (fortran/openmp.o): Add dependencies on
|
3525 |
|
|
target.h and toplev.h.
|
3526 |
|
|
|
3527 |
|
|
* trans-decl.c (gfc_get_fake_result_decl): Set GFC_DECL_RESULT.
|
3528 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Make
|
3529 |
|
|
DECL_ARTIFICIAL vars predetermined shared except GFC_DECL_RESULT.
|
3530 |
|
|
(gfc_omp_disregard_value_expr): Handle GFC_DECL_RESULT.
|
3531 |
|
|
(gfc_trans_omp_variable): New function.
|
3532 |
|
|
(gfc_trans_omp_variable_list, gfc_trans_omp_reduction_list): Use it.
|
3533 |
|
|
* trans.h (GFC_DECL_RESULT): Define.
|
3534 |
|
|
|
3535 |
|
|
* trans-openmp.c (gfc_omp_firstprivatize_type_sizes): New function.
|
3536 |
|
|
* f95-lang.c (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
|
3537 |
|
|
* trans.h (gfc_omp_firstprivatize_type_sizes): New prototype.
|
3538 |
|
|
|
3539 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Return
|
3540 |
|
|
true if a pointer has GFC_DECL_SAVED_DESCRIPTOR set.
|
3541 |
|
|
(gfc_trans_omp_array_reduction, gfc_trans_omp_reduction_list): New
|
3542 |
|
|
functions.
|
3543 |
|
|
(gfc_trans_omp_clauses): Add WHERE argument. Call
|
3544 |
|
|
gfc_trans_omp_reduction_list rather than gfc_trans_omp_variable_list
|
3545 |
|
|
for reductions.
|
3546 |
|
|
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
|
3547 |
|
|
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
|
3548 |
|
|
gfc_trans_omp_sections, gfc_trans_omp_single): Adjust
|
3549 |
|
|
gfc_trans_omp_clauses callers.
|
3550 |
|
|
|
3551 |
|
|
* openmp.c (omp_current_do_code): New var.
|
3552 |
|
|
(gfc_resolve_omp_do_blocks): New function.
|
3553 |
|
|
(gfc_resolve_omp_parallel_blocks): Call it.
|
3554 |
|
|
(gfc_resolve_do_iterator): Add CODE argument. Don't propagate
|
3555 |
|
|
predetermination if argument is !$omp do or !$omp parallel do
|
3556 |
|
|
iteration variable.
|
3557 |
|
|
* resolve.c (resolve_code): Call gfc_resolve_omp_do_blocks
|
3558 |
|
|
for EXEC_OMP_DO. Adjust gfc_resolve_do_iterator caller.
|
3559 |
|
|
* fortran.h (gfc_resolve_omp_do_blocks): New prototype.
|
3560 |
|
|
(gfc_resolve_do_iterator): Add CODE argument.
|
3561 |
|
|
|
3562 |
|
|
* trans.h (gfc_omp_predetermined_sharing,
|
3563 |
|
|
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
|
3564 |
|
|
prototypes.
|
3565 |
|
|
(GFC_DECL_COMMON_OR_EQUIV, GFC_DECL_CRAY_POINTEE): Define.
|
3566 |
|
|
* trans-openmp.c (gfc_omp_predetermined_sharing,
|
3567 |
|
|
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
|
3568 |
|
|
functions.
|
3569 |
|
|
* trans-common.c (build_equiv_decl, build_common_decl,
|
3570 |
|
|
create_common): Set GFC_DECL_COMMON_OR_EQUIV flag on the decls.
|
3571 |
|
|
* trans-decl.c (gfc_finish_cray_pointee): Set GFC_DECL_CRAY_POINTEE
|
3572 |
|
|
on the decl.
|
3573 |
|
|
* f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_SHARING,
|
3574 |
|
|
LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
|
3575 |
|
|
LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE): Define.
|
3576 |
|
|
|
3577 |
|
|
* openmp.c (resolve_omp_clauses): Remove extraneous comma.
|
3578 |
|
|
|
3579 |
|
|
* symbol.c (check_conflict): Add conflict between cray_pointee and
|
3580 |
|
|
threadprivate.
|
3581 |
|
|
* openmp.c (gfc_match_omp_threadprivate): Fail if
|
3582 |
|
|
gfc_add_threadprivate returned FAILURE.
|
3583 |
|
|
(resolve_omp_clauses): Diagnose Cray pointees in SHARED,
|
3584 |
|
|
{,FIRST,LAST}PRIVATE and REDUCTION clauses and Cray pointers in
|
3585 |
|
|
{FIRST,LAST}PRIVATE and REDUCTION clauses.
|
3586 |
|
|
|
3587 |
|
|
* resolve.c (omp_workshare_flag): New variable.
|
3588 |
|
|
(resolve_function): Diagnose use of non-ELEMENTAL user defined
|
3589 |
|
|
function in WORKSHARE construct.
|
3590 |
|
|
(resolve_code): Cleanup forall_save use. Make sure omp_workshare_flag
|
3591 |
|
|
is set to correct value in different contexts.
|
3592 |
|
|
|
3593 |
|
|
* openmp.c (resolve_omp_clauses): Replace %s with '%s' when printing
|
3594 |
|
|
variable name.
|
3595 |
|
|
(resolve_omp_atomic): Likewise.
|
3596 |
|
|
|
3597 |
|
|
PR fortran/24493
|
3598 |
|
|
* scanner.c (skip_free_comments): Set at_bol at the beginning of the
|
3599 |
|
|
loop, not before it.
|
3600 |
|
|
(skip_fixed_comments): Handle ! comments in the middle of line here
|
3601 |
|
|
as well.
|
3602 |
|
|
(gfc_skip_comments): Use skip_fixed_comments for FIXED_FORM even if
|
3603 |
|
|
not at BOL.
|
3604 |
|
|
(gfc_next_char_literal): Fix expected canonicalized *$omp string.
|
3605 |
|
|
|
3606 |
|
|
* trans-openmp.c (gfc_trans_omp_do): Use make_node and explicit
|
3607 |
|
|
initialization to build OMP_FOR instead of build.
|
3608 |
|
|
|
3609 |
|
|
* trans-decl.c (gfc_gimplify_function): Invoke
|
3610 |
|
|
diagnose_omp_structured_block_errors.
|
3611 |
|
|
|
3612 |
|
|
* trans-openmp.c (gfc_trans_omp_master): Use OMP_MASTER.
|
3613 |
|
|
(gfc_trans_omp_ordered): Use OMP_ORDERED.
|
3614 |
|
|
|
3615 |
|
|
* gfortran.h (gfc_resolve_do_iterator, gfc_resolve_blocks,
|
3616 |
|
|
gfc_resolve_omp_parallel_blocks): New prototypes.
|
3617 |
|
|
* resolve.c (resolve_blocks): Renamed to...
|
3618 |
|
|
(gfc_resolve_blocks): ... this. Remove static.
|
3619 |
|
|
(gfc_resolve_forall): Adjust caller.
|
3620 |
|
|
(resolve_code): Only call gfc_resolve_blocks if code->block != 0
|
3621 |
|
|
and not for EXEC_OMP_PARALLEL* directives. Call
|
3622 |
|
|
gfc_resolve_omp_parallel_blocks for EXEC_OMP_PARALLEL* directives.
|
3623 |
|
|
Call gfc_resolve_do_iterator if resolved successfully EXEC_DO
|
3624 |
|
|
iterator.
|
3625 |
|
|
* openmp.c: Include pointer-set.h.
|
3626 |
|
|
(omp_current_ctx): New variable.
|
3627 |
|
|
(gfc_resolve_omp_parallel_blocks, gfc_resolve_do_iterator): New
|
3628 |
|
|
functions.
|
3629 |
|
|
* Make-lang.in (fortran/openmp.o): Depend on pointer-set.h.
|
3630 |
|
|
|
3631 |
|
|
* openmp.c (gfc_match_omp_clauses): For max/min/iand/ior/ieor,
|
3632 |
|
|
look up symbol if it exists, use its name instead and, if it is not
|
3633 |
|
|
INTRINSIC, issue diagnostics.
|
3634 |
|
|
|
3635 |
|
|
* parse.c (parse_omp_do): Handle implied end do properly.
|
3636 |
|
|
(parse_executable): If parse_omp_do returned ST_IMPLIED_ENDDO,
|
3637 |
|
|
return it instead of continuing.
|
3638 |
|
|
|
3639 |
|
|
* trans-openmp.c (gfc_trans_omp_critical): Update for changed
|
3640 |
|
|
operand numbering.
|
3641 |
|
|
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
|
3642 |
|
|
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
|
3643 |
|
|
gfc_trans_omp_sections, gfc_trans_omp_single): Likewise.
|
3644 |
|
|
|
3645 |
|
|
* trans.h (gfc_omp_privatize_by_reference): New prototype.
|
3646 |
|
|
* f95-lang.c (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Redefine
|
3647 |
|
|
to gfc_omp_privatize_by_reference.
|
3648 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): New function.
|
3649 |
|
|
|
3650 |
|
|
* trans-stmt.h (gfc_trans_omp_directive): Add comment.
|
3651 |
|
|
|
3652 |
|
|
* openmp.c (gfc_match_omp_variable_list): Add ALLOW_COMMON argument.
|
3653 |
|
|
Disallow COMMON matching if it is set.
|
3654 |
|
|
(gfc_match_omp_clauses, gfc_match_omp_flush): Adjust all callers.
|
3655 |
|
|
(resolve_omp_clauses): Show locus in error messages. Check that
|
3656 |
|
|
variable types in reduction clauses are appropriate for reduction
|
3657 |
|
|
operators.
|
3658 |
|
|
|
3659 |
|
|
* resolve.c (resolve_symbol): Don't error if a threadprivate module
|
3660 |
|
|
variable isn't SAVEd.
|
3661 |
|
|
|
3662 |
|
|
* trans-openmp.c (gfc_trans_omp_do): Put count into BLOCK, not BODY.
|
3663 |
|
|
Fix typo in condition. Fix DOVAR initialization.
|
3664 |
|
|
|
3665 |
|
|
* openmp.c (gfc_match_omp_clauses): Match min/iand/ior/ieor
|
3666 |
|
|
rather than .min. etc.
|
3667 |
|
|
|
3668 |
|
|
* trans-openmpc.c (omp_not_yet): Remove.
|
3669 |
|
|
(gfc_trans_omp_parallel_do): Keep listprivate clause on parallel.
|
3670 |
|
|
Force creation of BIND_EXPR around the workshare construct.
|
3671 |
|
|
(gfc_trans_omp_parallel_sections): Likewise.
|
3672 |
|
|
(gfc_trans_omp_parallel_workshare): Likewise.
|
3673 |
|
|
|
3674 |
|
|
* types.def (BT_I16, BT_FN_I16_VPTR_I16,
|
3675 |
|
|
BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
|
3676 |
|
|
|
3677 |
|
|
* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_DEFAULT.
|
3678 |
|
|
(gfc_trans_omp_code): New function.
|
3679 |
|
|
(gfc_trans_omp_do): Use it, remove omp_not_yet uses.
|
3680 |
|
|
(gfc_trans_omp_parallel, gfc_trans_omp_single): Likewise.
|
3681 |
|
|
(gfc_trans_omp_sections): Likewise. Only treat empty last section
|
3682 |
|
|
specially if lastprivate clause is present.
|
3683 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Create BUILT_IN_TRAP
|
3684 |
|
|
builtin.
|
3685 |
|
|
|
3686 |
|
|
* trans-openmp.c (gfc_trans_omp_variable_list): Update for
|
3687 |
|
|
OMP_CLAUSE_DECL name change.
|
3688 |
|
|
(gfc_trans_omp_do): Likewise.
|
3689 |
|
|
|
3690 |
|
|
* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_REDUCTION
|
3691 |
|
|
clauses.
|
3692 |
|
|
(gfc_trans_omp_atomic): Build OMP_ATOMIC instead of expanding
|
3693 |
|
|
sync builtins directly.
|
3694 |
|
|
(gfc_trans_omp_single): Build OMP_SINGLE statement.
|
3695 |
|
|
|
3696 |
|
|
* trans-openmp.c (gfc_trans_add_clause): New.
|
3697 |
|
|
(gfc_trans_omp_variable_list): Take a tree code and build the clause
|
3698 |
|
|
node here. Link it to the head of a list.
|
3699 |
|
|
(gfc_trans_omp_clauses): Update to match.
|
3700 |
|
|
(gfc_trans_omp_do): Use gfc_trans_add_clause.
|
3701 |
|
|
|
3702 |
|
|
* trans-openmp.c (gfc_trans_omp_clauses): Change second argument to
|
3703 |
|
|
gfc_omp_clauses *. Use gfc_evaluate_now instead of creating
|
3704 |
|
|
temporaries by hand.
|
3705 |
|
|
(gfc_trans_omp_atomic, gfc_trans_omp_critical): Use buildN_v macros.
|
3706 |
|
|
(gfc_trans_omp_do): New function.
|
3707 |
|
|
(gfc_trans_omp_master): Dont' check for gfc_trans_code returning NULL.
|
3708 |
|
|
(gfc_trans_omp_parallel): Adjust gfc_trans_omp_clauses caller.
|
3709 |
|
|
Use buildN_v macros.
|
3710 |
|
|
(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections,
|
3711 |
|
|
gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections,
|
3712 |
|
|
gfc_trans_omp_single, gfc_trans_omp_workshare): New functions.
|
3713 |
|
|
(gfc_trans_omp_directive): Use them.
|
3714 |
|
|
* parse.c (parse_omp_do): Allow new_st.op == EXEC_NOP.
|
3715 |
|
|
* openmp.c (resolve_omp_clauses): Check for list items present
|
3716 |
|
|
in multiple clauses.
|
3717 |
|
|
(resolve_omp_do): Check that iteration variable is not THREADPRIVATE
|
3718 |
|
|
and is not present in any clause variable lists other than PRIVATE
|
3719 |
|
|
or LASTPRIVATE.
|
3720 |
|
|
|
3721 |
|
|
* gfortran.h (symbol_attribute): Add threadprivate bit.
|
3722 |
|
|
(gfc_common_head): Add threadprivate member, change use_assoc
|
3723 |
|
|
and saved into char to save space.
|
3724 |
|
|
(gfc_add_threadprivate): New prototype.
|
3725 |
|
|
* symbol.c (check_conflict): Handle threadprivate.
|
3726 |
|
|
(gfc_add_threadprivate): New function.
|
3727 |
|
|
(gfc_copy_attr): Copy threadprivate.
|
3728 |
|
|
* trans-openmp.c (gfc_trans_omp_clauses): Avoid creating a temporary
|
3729 |
|
|
if IF or NUM_THREADS is constant. Create OMP_CLAUSE_SCHEDULE and
|
3730 |
|
|
OMP_CLAUSE_ORDERED.
|
3731 |
|
|
* resolve.c (resolve_symbol): Complain if a THREADPRIVATE symbol
|
3732 |
|
|
outside a module and not in COMMON has is not SAVEd.
|
3733 |
|
|
(resolve_equivalence): Ensure THREADPRIVATE objects don't get
|
3734 |
|
|
EQUIVALENCEd.
|
3735 |
|
|
* trans-common.c: Include target.h and rtl.h.
|
3736 |
|
|
(build_common_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
|
3737 |
|
|
* trans-decl.c: Include rtl.h.
|
3738 |
|
|
(gfc_finish_var_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
|
3739 |
|
|
* dump-parse-tree.c (gfc_show_attr): Handle THREADPRIVATE.
|
3740 |
|
|
* Make-lang.in (fortran/trans-decl.o): Depend on $(RTL_H).
|
3741 |
|
|
(fortran/trans-common.o): Depend on $(RTL_H) and $(TARGET_H).
|
3742 |
|
|
* openmp.c (gfc_match_omp_variable_list): Ensure COMMON block
|
3743 |
|
|
is from current namespace.
|
3744 |
|
|
(gfc_match_omp_threadprivate): Rewrite.
|
3745 |
|
|
(resolve_omp_clauses): Check some clause restrictions.
|
3746 |
|
|
* module.c (ab_attribute): Add AB_THREADPRIVATE.
|
3747 |
|
|
(attr_bits): Add THREADPRIVATE.
|
3748 |
|
|
(mio_symbol_attribute, mio_symbol_attribute): Handle threadprivate.
|
3749 |
|
|
(load_commons, write_common, write_blank_common): Adjust for type
|
3750 |
|
|
change of saved, store/load threadprivate bit from the integer
|
3751 |
|
|
as well.
|
3752 |
|
|
|
3753 |
|
|
* types.def (BT_FN_UINT_UINT): New.
|
3754 |
|
|
(BT_FN_VOID_UINT_UINT): Remove.
|
3755 |
|
|
|
3756 |
|
|
* trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_barrier,
|
3757 |
|
|
gfc_trans_omp_critical, gfc_trans_omp_flush, gfc_trans_omp_master,
|
3758 |
|
|
gfc_trans_omp_ordered, gfc_trans_omp_parallel): New functions.
|
3759 |
|
|
(gfc_trans_omp_directive): Use them.
|
3760 |
|
|
|
3761 |
|
|
* openmp.c (expr_references_sym): Add SE argument, don't look
|
3762 |
|
|
into SE tree.
|
3763 |
|
|
(is_conversion): New function.
|
3764 |
|
|
(resolve_omp_atomic): Adjust expr_references_sym callers. Handle
|
3765 |
|
|
promoted expressions.
|
3766 |
|
|
* trans-openmp.c (gfc_trans_omp_atomic): New function.
|
3767 |
|
|
(gfc_trans_omp_directive): Call it.
|
3768 |
|
|
|
3769 |
|
|
* f95-lang.c (builtin_type_for_size): New function.
|
3770 |
|
|
(gfc_init_builtin_functions): Initialize synchronization and
|
3771 |
|
|
OpenMP builtins.
|
3772 |
|
|
* types.def: New file.
|
3773 |
|
|
* Make-lang.in (f95-lang.o): Depend on $(BUILTINS_DEF) and
|
3774 |
|
|
fortran/types.def.
|
3775 |
|
|
|
3776 |
|
|
* trans-openmp.c: Rename GOMP_* tree codes into OMP_*.
|
3777 |
|
|
|
3778 |
|
|
* dump-parse-tree.c (show_symtree): Don't crash if ns->proc_name
|
3779 |
|
|
is NULL.
|
3780 |
|
|
|
3781 |
|
|
* dump-parse-tree.c (gfc_show_namelist, gfc_show_omp_node): New
|
3782 |
|
|
functions.
|
3783 |
|
|
(gfc_show_code_node): Call gfc_show_omp_node for EXEC_OMP_* nodes.
|
3784 |
|
|
|
3785 |
|
|
* parse.c (parse_omp_do): Call pop_state before next_statement.
|
3786 |
|
|
* openmp.c (expr_references_sym, resolve_omp_atomic, resolve_omp_do):
|
3787 |
|
|
New functions.
|
3788 |
|
|
(gfc_resolve_omp_directive): Call them.
|
3789 |
|
|
* match.c (match_exit_cycle): Issue error if EXIT or CYCLE statement
|
3790 |
|
|
leaves an OpenMP structured block or if EXIT terminates !$omp do
|
3791 |
|
|
loop.
|
3792 |
|
|
|
3793 |
|
|
* Make-lang.in (F95_PARSER_OBJS): Add fortran/openmp.o.
|
3794 |
|
|
(F95_OBJS): Add fortran/trans-openmp.o.
|
3795 |
|
|
(fortran/trans-openmp.o): Depend on $(GFORTRAN_TRANS_DEPS).
|
3796 |
|
|
* lang.opt: Add -fopenmp option.
|
3797 |
|
|
* options.c (gfc_init_options): Initialize it.
|
3798 |
|
|
(gfc_handle_option): Handle it.
|
3799 |
|
|
* gfortran.h (ST_OMP_ATOMIC, ST_OMP_BARRIER, ST_OMP_CRITICAL,
|
3800 |
|
|
ST_OMP_END_CRITICAL, ST_OMP_END_DO, ST_OMP_END_MASTER,
|
3801 |
|
|
ST_OMP_END_ORDERED, ST_OMP_END_PARALLEL, ST_OMP_END_PARALLEL_DO,
|
3802 |
|
|
ST_OMP_END_PARALLEL_SECTIONS, ST_OMP_END_PARALLEL_WORKSHARE,
|
3803 |
|
|
ST_OMP_END_SECTIONS, ST_OMP_END_SINGLE, ST_OMP_END_WORKSHARE,
|
3804 |
|
|
ST_OMP_DO, ST_OMP_FLUSH, ST_OMP_MASTER, ST_OMP_ORDERED,
|
3805 |
|
|
ST_OMP_PARALLEL, ST_OMP_PARALLEL_DO, ST_OMP_PARALLEL_SECTIONS,
|
3806 |
|
|
ST_OMP_PARALLEL_WORKSHARE, ST_OMP_SECTIONS, ST_OMP_SECTION,
|
3807 |
|
|
ST_OMP_SINGLE, ST_OMP_THREADPRIVATE, ST_OMP_WORKSHARE): New
|
3808 |
|
|
statement codes.
|
3809 |
|
|
(OMP_LIST_PRIVATE, OMP_LIST_FIRSTPRIVATE, OMP_LIST_LASTPRIVATE,
|
3810 |
|
|
OMP_LIST_COPYPRIVATE, OMP_LIST_SHARED, OMP_LIST_COPYIN,
|
3811 |
|
|
OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
|
3812 |
|
|
OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
|
3813 |
|
|
OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
|
3814 |
|
|
OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST, OMP_LIST_NUM):
|
3815 |
|
|
New OpenMP variable list types.
|
3816 |
|
|
(gfc_omp_clauses): New typedef.
|
3817 |
|
|
(gfc_get_omp_clauses): Define.
|
3818 |
|
|
(EXEC_OMP_CRITICAL, EXEC_OMP_DO, EXEC_OMP_FLUSH, EXEC_OMP_MASTER,
|
3819 |
|
|
EXEC_OMP_ORDERED, EXEC_OMP_PARALLEL, EXEC_OMP_PARALLEL_DO,
|
3820 |
|
|
EXEC_OMP_PARALLEL_SECTIONS, EXEC_OMP_PARALLEL_WORKSHARE,
|
3821 |
|
|
EXEC_OMP_SECTIONS, EXEC_OMP_SINGLE, EXEC_OMP_WORKSHARE,
|
3822 |
|
|
EXEC_OMP_ATOMIC, EXEC_OMP_BARRIER, EXEC_OMP_END_NOWAIT,
|
3823 |
|
|
EXEC_OMP_END_SINGLE): New OpenMP gfc_exec_op codes.
|
3824 |
|
|
(struct gfc_code): Add omp_clauses, omp_name, omp_namelist
|
3825 |
|
|
and omp_bool fields to ext union.
|
3826 |
|
|
(flag_openmp): Declare.
|
3827 |
|
|
(gfc_free_omp_clauses, gfc_resolve_omp_directive): New prototypes.
|
3828 |
|
|
* scanner.c (openmp_flag, openmp_locus): New variables.
|
3829 |
|
|
(skip_free_comments, skip_fixed_comments, gfc_next_char_literal):
|
3830 |
|
|
Handle OpenMP directive lines and conditional compilation magic
|
3831 |
|
|
comments.
|
3832 |
|
|
* parse.h (COMP_OMP_STRUCTURED_BLOCK): New compile state.
|
3833 |
|
|
* parse.c (decode_omp_directive, parse_omp_do, parse_omp_atomic,
|
3834 |
|
|
parse_omp_structured_block): New functions.
|
3835 |
|
|
(next_free, next_fixed): Parse OpenMP directives.
|
3836 |
|
|
(case_executable, case_exec_markers, case_decl): Add ST_OMP_*
|
3837 |
|
|
codes.
|
3838 |
|
|
(gfc_ascii_statement): Handle ST_OMP_* codes.
|
3839 |
|
|
(parse_executable): Rearrange the loop slightly, so that
|
3840 |
|
|
parse_omp_do can return next_statement.
|
3841 |
|
|
* match.h (gfc_match_omp_eos, gfc_match_omp_atomic,
|
3842 |
|
|
gfc_match_omp_barrier, gfc_match_omp_critical, gfc_match_omp_do,
|
3843 |
|
|
gfc_match_omp_flush, gfc_match_omp_master, gfc_match_omp_ordered,
|
3844 |
|
|
gfc_match_omp_parallel, gfc_match_omp_parallel_do,
|
3845 |
|
|
gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
|
3846 |
|
|
gfc_match_omp_sections, gfc_match_omp_single,
|
3847 |
|
|
gfc_match_omp_threadprivate, gfc_match_omp_workshare,
|
3848 |
|
|
gfc_match_omp_end_nowait, gfc_match_omp_end_single): New prototypes.
|
3849 |
|
|
* resolve.c (resolve_blocks): Ignore EXEC_OMP_* block directives.
|
3850 |
|
|
(resolve_code): Call gfc_resolve_omp_directive on EXEC_OMP_*
|
3851 |
|
|
directives.
|
3852 |
|
|
* trans.c (gfc_trans_code): Call gfc_trans_omp_directive for
|
3853 |
|
|
EXEC_OMP_* directives.
|
3854 |
|
|
* st.c (gfc_free_statement): Handle EXEC_OMP_* statement freeing.
|
3855 |
|
|
* trans-stmt.h (gfc_trans_omp_directive): New prototype.
|
3856 |
|
|
* openmp.c: New file.
|
3857 |
|
|
* trans-openmp.c: New file.
|
3858 |
|
|
|
3859 |
|
|
2006-02-13 Andrew Pinski
|
3860 |
|
|
Jakub Jelinek
|
3861 |
|
|
|
3862 |
|
|
PR fortran/26246
|
3863 |
|
|
* trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
|
3864 |
|
|
gfc_add_decl_to_function rather than gfc_finish_var_decl on length.
|
3865 |
|
|
|
3866 |
|
|
2006-02-13 Paul Thomas
|
3867 |
|
|
|
3868 |
|
|
PR fortran/26074
|
3869 |
|
|
PR fortran/25103
|
3870 |
|
|
* resolve.c (resolve_symbol): Extend the requirement that module
|
3871 |
|
|
arrays have constant bounds to those in the main program. At the
|
3872 |
|
|
same time simplify the array bounds, to avoiding trapping parameter
|
3873 |
|
|
array references, and exclude automatic character length from main
|
3874 |
|
|
and modules. Rearrange resolve_symbol and resolve_derived to put as
|
3875 |
|
|
each flavor together, as much as is possible and move all specific
|
3876 |
|
|
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
|
3877 |
|
|
functions.
|
3878 |
|
|
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
|
3879 |
|
|
New functions to do work of resolve_symbol.
|
3880 |
|
|
(resolve_index_expr): New function that is called from resolved_symbol
|
3881 |
|
|
and is extracted from resolve_charlen.
|
3882 |
|
|
(resolve_charlen): Call this new function.
|
3883 |
|
|
(resolve_fl_derived): Renamed resolve_derived to be consistent with
|
3884 |
|
|
the naming of the new functions for the other flavours. Change the
|
3885 |
|
|
charlen checking so that the style is consistent with other similar
|
3886 |
|
|
checks. Add the generation of the gfc_dt_list, removed from resolve_
|
3887 |
|
|
symbol.
|
3888 |
|
|
|
3889 |
|
|
PR fortran/20861
|
3890 |
|
|
* resolve.c (resolve_actual_arglist): Prevent internal procedures
|
3891 |
|
|
from being dummy arguments.
|
3892 |
|
|
|
3893 |
|
|
PR fortran/20871
|
3894 |
|
|
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
|
3895 |
|
|
procedures from being dummy arguments.
|
3896 |
|
|
|
3897 |
|
|
PR fortran/25083
|
3898 |
|
|
* resolve.c (check_data_variable): Add test that data variable is in
|
3899 |
|
|
COMMON.
|
3900 |
|
|
|
3901 |
|
|
PR fortran/25088
|
3902 |
|
|
* resolve.c (resolve_call): Add test that the subroutine does not
|
3903 |
|
|
have a type.
|
3904 |
|
|
|
3905 |
|
|
2006-02-12 Erik Edelmann
|
3906 |
|
|
|
3907 |
|
|
PR fortran/25806
|
3908 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage): New argument
|
3909 |
|
|
dealloc; free the temporary only if dealloc is true.
|
3910 |
|
|
(gfc_trans_allocate_temp_array): New argument bool dealloc, to be
|
3911 |
|
|
passed onwards to gfc_trans_allocate_array_storage.
|
3912 |
|
|
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
|
3913 |
|
|
gfc_trans_allocate_temp_array.
|
3914 |
|
|
* trans-array.h (gfc_trans_allocate_temp_array): Update function
|
3915 |
|
|
prototype.
|
3916 |
|
|
* trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
|
3917 |
|
|
to gfc_trans_allocate_temp_array to false in case of functions
|
3918 |
|
|
returning pointers.
|
3919 |
|
|
(gfc_trans_arrayfunc_assign): Return NULL for functions returning
|
3920 |
|
|
pointers.
|
3921 |
|
|
|
3922 |
|
|
2006-02-10 Steven G. Kargl
|
3923 |
|
|
|
3924 |
|
|
PR fortran/20858
|
3925 |
|
|
*decl.c (variable_decl): Improve error message. Remove initialization
|
3926 |
|
|
typespec. Wrap long line.
|
3927 |
|
|
*expr.c (gfc_check_pointer_assign): Permit checking of type, kind type,
|
3928 |
|
|
and rank.
|
3929 |
|
|
*simplify.c (gfc_simplify_null): Ensure type, kind type, and rank
|
3930 |
|
|
are set.
|
3931 |
|
|
|
3932 |
|
|
|
3933 |
|
|
2006-02-10 Tobias Schlüter
|
3934 |
|
|
|
3935 |
|
|
PR fortran/14771
|
3936 |
|
|
* arith.c (eval_intrinsic): Accept INTRINSIC_PARENTHESES.
|
3937 |
|
|
* expr.c (check_intrinsic_op): Likewise.
|
3938 |
|
|
* module.c (mio_expr): Likewise.
|
3939 |
|
|
|
3940 |
|
|
2006-02-09 Tobias Schlüter
|
3941 |
|
|
|
3942 |
|
|
* dump-parse-tree.c: Update copyright years.
|
3943 |
|
|
* matchexp.c: Likewise.
|
3944 |
|
|
* module.c: Likewise.
|
3945 |
|
|
|
3946 |
|
|
PR fortran/14771
|
3947 |
|
|
* gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
|
3948 |
|
|
* dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
|
3949 |
|
|
* expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
|
3950 |
|
|
if it were INTRINSIC_UPLUS.
|
3951 |
|
|
* resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
|
3952 |
|
|
* match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
|
3953 |
|
|
* matchexp.c (match_primary): Record parentheses surrounding
|
3954 |
|
|
numeric expressions.
|
3955 |
|
|
* module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
|
3956 |
|
|
dumping.
|
3957 |
|
|
* trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.
|
3958 |
|
|
|
3959 |
|
|
2006-02-09 Paul Thomas
|
3960 |
|
|
|
3961 |
|
|
PR fortran/26038
|
3962 |
|
|
* trans-stmt.c (gfc_trans_allocate): Provide assumed character length
|
3963 |
|
|
scalar with missing backend_decl for the hidden dummy charlen.
|
3964 |
|
|
|
3965 |
|
|
PR fortran/25059
|
3966 |
|
|
* interface.c (gfc_extend_assign): Remove detection of non-PURE
|
3967 |
|
|
subroutine in assignment interface, with gfc_error, and put it in
|
3968 |
|
|
* resolve.c (resolve_code).
|
3969 |
|
|
|
3970 |
|
|
PR fortran/25070
|
3971 |
|
|
* interface.c (gfc_procedure_use): Flag rank checking for non-
|
3972 |
|
|
elemental, contained or interface procedures in call to
|
3973 |
|
|
(compare_actual_formal), where ranks are checked for assumed
|
3974 |
|
|
shape arrays..
|
3975 |
|
|
|
3976 |
|
|
2006-02-08 Francois-Xavier Coudert
|
3977 |
|
|
|
3978 |
|
|
PR libfortran/25425
|
3979 |
|
|
* trans-decl.c (gfc_generate_function_code): Add new argument,
|
3980 |
|
|
pedantic, to set_std call.
|
3981 |
|
|
|
3982 |
|
|
2006-02-06 Thomas Koenig
|
3983 |
|
|
|
3984 |
|
|
PR libfortran/23815
|
3985 |
|
|
* gfortran.texi: Document the GFORTRAN_CONVERT_UNIT environment
|
3986 |
|
|
variable.
|
3987 |
|
|
* invoke.texi: Mention the "Runtime" chapter.
|
3988 |
|
|
Document the -fconvert= option.
|
3989 |
|
|
* gfortran.h: Add options_convert.
|
3990 |
|
|
* lang.opt: Add fconvert=little-endian, fconvert=big-endian,
|
3991 |
|
|
fconvert=native and fconvert=swap.
|
3992 |
|
|
* trans-decl.c (top level): Add gfor_fndecl_set_convert.
|
3993 |
|
|
(gfc_build_builtin_function_decls): Set gfor_fndecl_set_convert.
|
3994 |
|
|
(gfc_generate_function_code): If -fconvert was specified,
|
3995 |
|
|
and this is the main program, add a call to set_convert().
|
3996 |
|
|
* options.c: Handle the -fconvert options.
|
3997 |
|
|
|
3998 |
|
|
2006-02-06 Roger Sayle
|
3999 |
|
|
|
4000 |
|
|
* trans-stmt.c (gfc_evaluate_where_mask): Allow the NMASK argument
|
4001 |
|
|
to be NULL to indicate that the not mask isn't required.
|
4002 |
|
|
(gfc_trans_where_2): Remove PMASK argument. Avoid calculating the
|
4003 |
|
|
pending mask for the last clause of a WHERE chain. Update recursive
|
4004 |
|
|
call.
|
4005 |
|
|
(gfc_trans_forall_1): Update call to gfc_trans_where_2.
|
4006 |
|
|
(gfc_trans_where): Likewise.
|
4007 |
|
|
|
4008 |
|
|
2006-02-06 Jakub Jelinek
|
4009 |
|
|
|
4010 |
|
|
Backport from gomp-20050608-branch
|
4011 |
|
|
* trans-decl.c (create_function_arglist): Handle dummy functions.
|
4012 |
|
|
|
4013 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Revert explicit setting of
|
4014 |
|
|
TYPE_SIZE_UNIT.
|
4015 |
|
|
(gfc_trans_vla_type_sizes): Also "gimplify"
|
4016 |
|
|
GFC_TYPE_ARRAY_DATAPTR_TYPE for GFC_DESCRIPTOR_TYPE_P types.
|
4017 |
|
|
* trans-array.c (gfc_trans_deferred_array): Call
|
4018 |
|
|
gfc_trans_vla_type_sizes.
|
4019 |
|
|
|
4020 |
|
|
* trans-decl.c (saved_function_decls, saved_parent_function_decls):
|
4021 |
|
|
Remove unnecessary initialization.
|
4022 |
|
|
(create_function_arglist): Make sure __result has complete type.
|
4023 |
|
|
(gfc_get_fake_result_decl): Change current_fake_result_decl into
|
4024 |
|
|
a tree chain. For entry master, create a separate variable
|
4025 |
|
|
for each result name. For BT_CHARACTER results, call
|
4026 |
|
|
gfc_finish_var_decl on length even if it has been already created,
|
4027 |
|
|
but not pushdecl'ed.
|
4028 |
|
|
(gfc_trans_vla_type_sizes): For function/entry result, adjust
|
4029 |
|
|
result value type, not the FUNCTION_TYPE.
|
4030 |
|
|
(gfc_generate_function_code): Adjust for current_fake_result_decl
|
4031 |
|
|
changes.
|
4032 |
|
|
(gfc_trans_deferred_vars): Likewise. Call gfc_trans_vla_type_sizes
|
4033 |
|
|
even on result if it is assumed-length character.
|
4034 |
|
|
|
4035 |
|
|
* trans-decl.c (gfc_trans_dummy_character): Add SYM argument.
|
4036 |
|
|
Call gfc_trans_vla_type_sizes.
|
4037 |
|
|
(gfc_trans_auto_character_variable): Call gfc_trans_vla_type_sizes.
|
4038 |
|
|
(gfc_trans_vla_one_sizepos, gfc_trans_vla_type_sizes_1,
|
4039 |
|
|
gfc_trans_vla_type_sizes): New functions.
|
4040 |
|
|
(gfc_trans_deferred_vars): Adjust gfc_trans_dummy_character
|
4041 |
|
|
callers. Call gfc_trans_vla_type_sizes on assumed-length
|
4042 |
|
|
character parameters.
|
4043 |
|
|
* trans-array.c (gfc_trans_array_bounds,
|
4044 |
|
|
gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias): Call
|
4045 |
|
|
gfc_trans_vla_type_sizes.
|
4046 |
|
|
* trans.h (gfc_trans_vla_type_sizes): New prototype.
|
4047 |
|
|
|
4048 |
|
|
* trans-decl.c (gfc_build_qualified_array): For non-assumed-size
|
4049 |
|
|
arrays without constant size, create also an index var for
|
4050 |
|
|
GFC_TYPE_ARRAY_SIZE (type). If the type is incomplete, complete
|
4051 |
|
|
it as 0..size-1.
|
4052 |
|
|
(gfc_create_string_length): Don't call gfc_defer_symbol_init
|
4053 |
|
|
if just creating DECL_ARGUMENTS.
|
4054 |
|
|
(gfc_get_symbol_decl): Call gfc_finish_var_decl and
|
4055 |
|
|
gfc_defer_symbol_init even if ts.cl->backend_decl is already
|
4056 |
|
|
set to a VAR_DECL that doesn't have DECL_CONTEXT yet.
|
4057 |
|
|
(create_function_arglist): Rework, so that hidden length
|
4058 |
|
|
arguments for CHARACTER parameters are created together with
|
4059 |
|
|
the parameters. Resolve ts.cl->backend_decl for CHARACTER
|
4060 |
|
|
parameters. If the argument is a non-constant length array
|
4061 |
|
|
or CHARACTER, ensure PARM_DECL has different type than
|
4062 |
|
|
its DECL_ARG_TYPE.
|
4063 |
|
|
(generate_local_decl): Call gfc_get_symbol_decl even
|
4064 |
|
|
for non-referenced non-constant length CHARACTER parameters
|
4065 |
|
|
after optionally issuing warnings.
|
4066 |
|
|
* trans-array.c (gfc_trans_array_bounds): Set last stride
|
4067 |
|
|
to GFC_TYPE_ARRAY_SIZE (type) to initialize it as well.
|
4068 |
|
|
(gfc_trans_dummy_array_bias): Initialize GFC_TYPE_ARRAY_SIZE (type)
|
4069 |
|
|
variable as well.
|
4070 |
|
|
|
4071 |
|
|
* trans-expr.c (gfc_conv_expr_val): Fix comment typo.
|
4072 |
|
|
|
4073 |
|
|
* trans-stmt.c (gfc_trans_simple_do): Fix comment.
|
4074 |
|
|
|
4075 |
|
|
2006-02-04 Roger Sayle
|
4076 |
|
|
|
4077 |
|
|
* dependency.c (gfc_check_dependency): Remove unused vars and nvars
|
4078 |
|
|
arguments. Replace with an "identical" argument. A full array
|
4079 |
|
|
reference to the same symbol is a dependency if identical is true.
|
4080 |
|
|
* dependency.h (gfc_check_dependency): Update prototype.
|
4081 |
|
|
* trans-array.h (gfc_check_dependency): Delete duplicate prototype.
|
4082 |
|
|
* trans-stmt.c: #include dependency.h for gfc_check_dependency.
|
4083 |
|
|
(gfc_trans_forall_1): Update calls to gfc_check_dependency.
|
4084 |
|
|
(gfc_trans_where_2): Likewise. Remove unneeded variables.
|
4085 |
|
|
(gfc_trans_where_3): New function for simple non-dependent WHEREs.
|
4086 |
|
|
(gfc_trans_where): Call gfc_trans_where_3 to translate simple
|
4087 |
|
|
F90-style WHERE statements without internal dependencies.
|
4088 |
|
|
* Make-lang.in (trans-stmt.o): Depend upon dependency.h.
|
4089 |
|
|
|
4090 |
|
|
2006-02-05 H.J. Lu
|
4091 |
|
|
|
4092 |
|
|
PR fortran/26041
|
4093 |
|
|
PR fortran/26064
|
4094 |
|
|
* resolve.c (resolve_types): New function.
|
4095 |
|
|
(resolve_codes): Likewise.
|
4096 |
|
|
(gfc_resolve): Use them.
|
4097 |
|
|
|
4098 |
|
|
2006-02-05 Roger Sayle
|
4099 |
|
|
|
4100 |
|
|
* trans-stmt.c (gfc_evaluate_where_mask): Use LOGICAL*1 for WHERE
|
4101 |
|
|
masks instead of LOGICAL*4.
|
4102 |
|
|
|
4103 |
|
|
2006-02-05 Jakub Jelinek
|
4104 |
|
|
|
4105 |
|
|
* resolve.c (resolve_symbol): Initialize constructor_expr to NULL.
|
4106 |
|
|
|
4107 |
|
|
2006-02-04 Thomas Koenig
|
4108 |
|
|
|
4109 |
|
|
PR fortran/25075
|
4110 |
|
|
check.c (identical_dimen_shape): New function.
|
4111 |
|
|
(check_dot_product): Use identical_dimen_shape() to check sizes
|
4112 |
|
|
for dot_product.
|
4113 |
|
|
(gfc_check_matmul): Likewise.
|
4114 |
|
|
(gfc_check_merge): Check conformance between tsource and fsource
|
4115 |
|
|
and between tsource and mask.
|
4116 |
|
|
(gfc_check_pack): Check conformance between array and mask.
|
4117 |
|
|
|
4118 |
|
|
2006-02-03 Steven G. Kargl
|
4119 |
|
|
Paul Thomas
|
4120 |
|
|
|
4121 |
|
|
PR fortran/20845
|
4122 |
|
|
* resolve.c (resolve_symbol): Default initialization of derived type
|
4123 |
|
|
component reguires the SAVE attribute.
|
4124 |
|
|
|
4125 |
|
|
2006-02-02 Steven G. Kargl
|
4126 |
|
|
|
4127 |
|
|
PR fortran/24958
|
4128 |
|
|
match.c (gfc_match_nullify): Free the list from head not tail.
|
4129 |
|
|
|
4130 |
|
|
PR fortran/25072
|
4131 |
|
|
* match.c (match_forall_header): Fix internal error caused by bogus
|
4132 |
|
|
gfc_epxr pointers.
|
4133 |
|
|
|
4134 |
|
|
|
4135 |
|
|
2006-01-31 Thomas Koenig
|
4136 |
|
|
|
4137 |
|
|
PR fortran/26039
|
4138 |
|
|
expr.c (gfc_check_conformance): Reorder error message
|
4139 |
|
|
to avoid plural.
|
4140 |
|
|
check.c(gfc_check_minloc_maxloc): Call gfc_check_conformance
|
4141 |
|
|
for checking arguments array and mask.
|
4142 |
|
|
(check_reduction): Likewise.
|
4143 |
|
|
|
4144 |
|
|
2006-01-30 Erik Edelmann
|
4145 |
|
|
|
4146 |
|
|
PR fortran/24266
|
4147 |
|
|
* trans-io.c (set_internal_unit): Check the rank of the
|
4148 |
|
|
expression node itself instead of its symbol.
|
4149 |
|
|
|
4150 |
|
|
2006-01-29 Paul Thomas
|
4151 |
|
|
|
4152 |
|
|
PR fortran/18578
|
4153 |
|
|
PR fortran/18579
|
4154 |
|
|
PR fortran/20857
|
4155 |
|
|
PR fortran/20885
|
4156 |
|
|
* interface.c (compare_actual_formal): Error for INTENT(OUT or INOUT)
|
4157 |
|
|
if actual argument is not a variable.
|
4158 |
|
|
|
4159 |
|
|
2006-01-28 Paul Thomas
|
4160 |
|
|
|
4161 |
|
|
PR fortran/17911
|
4162 |
|
|
* expr.c (gfc_check_assign, gfc_check_pointer_assign): Emit error if
|
4163 |
|
|
the lvalue is a use associated procedure.
|
4164 |
|
|
|
4165 |
|
|
PR fortran/20895
|
4166 |
|
|
PR fortran/25030
|
4167 |
|
|
* expr.c (gfc_check_pointer_assign): Emit error if lvalue and rvalue
|
4168 |
|
|
character lengths are not the same. Use gfc_dep_compare_expr for the
|
4169 |
|
|
comparison.
|
4170 |
|
|
* gfortran.h: Add prototype for gfc_dep_compare_expr.
|
4171 |
|
|
* dependency.h: Remove prototype for gfc_dep_compare_expr.
|
4172 |
|
|
|
4173 |
|
|
2006-01-27 Paul Thomas
|
4174 |
|
|
|
4175 |
|
|
PR fortran/25964
|
4176 |
|
|
* resolve.c (resolve_function): Add GFC_ISYM_LOC to the list of
|
4177 |
|
|
generic_ids exempted from assumed size checking.
|
4178 |
|
|
|
4179 |
|
|
2006-01-27 Jakub Jelinek
|
4180 |
|
|
|
4181 |
|
|
PR fortran/25324
|
4182 |
|
|
* Make-lang.in (fortran/scanner.o): Depend on toplev.h.
|
4183 |
|
|
* lang.opt (fpreprocessed): New option.
|
4184 |
|
|
* scanner.c: Include toplev.h.
|
4185 |
|
|
(gfc_src_file, gfc_src_preprocessor_lines): New variables.
|
4186 |
|
|
(preprocessor_line): Unescape filename if there were any
|
4187 |
|
|
backslashes.
|
4188 |
|
|
(load_file): If initial and gfc_src_file is not NULL,
|
4189 |
|
|
use it rather than opening the file. If gfc_src_preprocessor_lines
|
4190 |
|
|
has non-NULL elements, pass it to preprocessor_line.
|
4191 |
|
|
(unescape_filename, gfc_read_orig_filename): New functions.
|
4192 |
|
|
* gfortran.h (gfc_option_t): Add flag_preprocessed.
|
4193 |
|
|
(gfc_read_orig_filename): New prototype.
|
4194 |
|
|
* options.c (gfc_init_options): Clear flag_preprocessed.
|
4195 |
|
|
(gfc_post_options): If flag_preprocessed, call
|
4196 |
|
|
gfc_read_orig_filename.
|
4197 |
|
|
(gfc_handle_option): Handle OPT_fpreprocessed.
|
4198 |
|
|
* lang-specs.h: Pass -fpreprocessed to f951 if preprocessing
|
4199 |
|
|
sources.
|
4200 |
|
|
|
4201 |
|
|
2006-01-27 Erik Edelmann
|
4202 |
|
|
|
4203 |
|
|
* symbol.c (free_old_symbol): Fix confusing comment, and add code
|
4204 |
|
|
to free old_symbol->formal.
|
4205 |
|
|
|
4206 |
|
|
2006-01-26 Paul Thomas
|
4207 |
|
|
|
4208 |
|
|
PR fortran/25964
|
4209 |
|
|
* resolve.c (resolve_function): Exclude statement functions from
|
4210 |
|
|
global reference checking.
|
4211 |
|
|
|
4212 |
|
|
PR fortran/25084
|
4213 |
|
|
PR fortran/20852
|
4214 |
|
|
PR fortran/25085
|
4215 |
|
|
PR fortran/25086
|
4216 |
|
|
* resolve.c (resolve_function): Declare a gfc_symbol to replace the
|
4217 |
|
|
references through the symtree to the symbol associated with the
|
4218 |
|
|
function expresion. Give error on reference to an assumed character
|
4219 |
|
|
length function is defined in an interface or an external function
|
4220 |
|
|
that is not a dummy argument.
|
4221 |
|
|
(resolve_symbol): Give error if an assumed character length function
|
4222 |
|
|
is array-valued, pointer-valued, pure or recursive. Emit warning
|
4223 |
|
|
that character(*) value functions are obsolescent in F95.
|
4224 |
|
|
|
4225 |
|
|
PR fortran/25416
|
4226 |
|
|
* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
|
4227 |
|
|
prevents any assumed character length function call from getting here
|
4228 |
|
|
except intrinsics such as SPREAD. In this case, ensure that no
|
4229 |
|
|
segfault occurs from referencing non-existent charlen->length->
|
4230 |
|
|
expr_type and provide a backend_decl for the charlen from the charlen
|
4231 |
|
|
of the first actual argument.
|
4232 |
|
|
|
4233 |
|
|
Cure temp name confusion.
|
4234 |
|
|
* trans-expr.c (gfc_get_interface_mapping_array): Change name of
|
4235 |
|
|
temporary from "parm" to "ifm" to avoid clash with temp coming from
|
4236 |
|
|
trans-array.c.
|
4237 |
|
|
|
4238 |
|
|
2006-01-25 Erik Edelmann
|
4239 |
|
|
|
4240 |
|
|
PR fortran/25716
|
4241 |
|
|
* symbol.c (free_old_symbol): New function.
|
4242 |
|
|
(gfc_commit_symbols): Use it.
|
4243 |
|
|
(gfc_commit_symbol): New function.
|
4244 |
|
|
(gfc_use_derived): Use it.
|
4245 |
|
|
* gfortran.h: Add prototype for gfc_commit_symbol.
|
4246 |
|
|
* intrinsic.c (gfc_find_function): Search in 'conversion'
|
4247 |
|
|
if not found in 'functions'.
|
4248 |
|
|
(gfc_convert_type_warn): Add a symtree to the new
|
4249 |
|
|
expression node, and commit the new symtree->n.sym.
|
4250 |
|
|
* resolve.c (gfc_resolve_index): Make sure typespec is
|
4251 |
|
|
properly initialized.
|
4252 |
|
|
|
4253 |
|
|
2006-01-23 Paul Thomas
|
4254 |
|
|
|
4255 |
|
|
PR fortran/25901
|
4256 |
|
|
* decl.c (get_proc_name): Replace subroutine and function attributes
|
4257 |
|
|
in "already defined" test by the formal arglist pointer being non-NULL.
|
4258 |
|
|
|
4259 |
|
|
Fix regression in testing of admissability of attributes.
|
4260 |
|
|
* symbol.c (gfc_add_attribute): If the current_attr has non-zero
|
4261 |
|
|
intent, do not do the check for a dummy being used.
|
4262 |
|
|
* decl.c (attr_decl1): Add current_attr.intent as the third argument
|
4263 |
|
|
in the call to gfc_add_attribute.
|
4264 |
|
|
* gfortran.h: Add the third argument to the prototype for
|
4265 |
|
|
gfc_add_attribute.
|
4266 |
|
|
|
4267 |
|
|
2006-01-21 Joseph S. Myers
|
4268 |
|
|
|
4269 |
|
|
* gfortranspec.c (lang_specific_driver): Update copyright notice
|
4270 |
|
|
date.
|
4271 |
|
|
|
4272 |
|
|
2006-01-21 Paul Thomas
|
4273 |
|
|
|
4274 |
|
|
PR fortran/25124
|
4275 |
|
|
PR fortran/25625
|
4276 |
|
|
* decl.c (get_proc_name): If there is an existing
|
4277 |
|
|
symbol in the encompassing namespace, call errors
|
4278 |
|
|
if it is a procedure of the same name or the kind
|
4279 |
|
|
field is set, indicating a type declaration.
|
4280 |
|
|
|
4281 |
|
|
PR fortran/20881
|
4282 |
|
|
PR fortran/23308
|
4283 |
|
|
PR fortran/25538
|
4284 |
|
|
PR fortran/25710
|
4285 |
|
|
* decl.c (add_global_entry): New function to check
|
4286 |
|
|
for existing global symbol with this name and to
|
4287 |
|
|
create new one if none exists.
|
4288 |
|
|
(gfc_match_entry): Call add_global_entry before
|
4289 |
|
|
matching argument lists for subroutine and function
|
4290 |
|
|
entries.
|
4291 |
|
|
* gfortran.h: Prototype for existing function,
|
4292 |
|
|
global_used.
|
4293 |
|
|
* resolve.c (resolve_global_procedure): New function
|
4294 |
|
|
to check global symbols for procedures.
|
4295 |
|
|
(resolve_call, resolve_function): Calls to this
|
4296 |
|
|
new function for non-contained and non-module
|
4297 |
|
|
procedures.
|
4298 |
|
|
* match.c (match_common): Add check for existing
|
4299 |
|
|
global symbol, creat one if none exists and emit
|
4300 |
|
|
error if there is a clash.
|
4301 |
|
|
* parse.c (global_used): Remove static and use the
|
4302 |
|
|
gsymbol name rather than the new_block name, so that
|
4303 |
|
|
the function can be called from resolve.c.
|
4304 |
|
|
(parse_block_data, parse_module, add_global_procedure):
|
4305 |
|
|
Improve checks for existing gsymbols. Emit error if
|
4306 |
|
|
already defined or if references were to another type.
|
4307 |
|
|
Set defined flag.
|
4308 |
|
|
|
4309 |
|
|
PR fortran/PR24276
|
4310 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): New function called by
|
4311 |
|
|
gfc_conv_function_call that coverts an expression for an aliased
|
4312 |
|
|
component reference to a derived type array into a temporary array
|
4313 |
|
|
of the same type as the component. The temporary is passed as an
|
4314 |
|
|
actual argument for the procedure call and is copied back to the
|
4315 |
|
|
derived type after the call.
|
4316 |
|
|
(is_aliased_array): New function that detects an array reference
|
4317 |
|
|
that is followed by a component reference.
|
4318 |
|
|
(gfc_conv_function_call): Detect an aliased actual argument with
|
4319 |
|
|
is_aliased_array and convert it to a temporary and back again
|
4320 |
|
|
using gfc_conv_aliased_arg.
|
4321 |
|
|
|
4322 |
|
|
2006-01-19 Tobias Schlüter
|
4323 |
|
|
|
4324 |
|
|
* gfortranspec.c: Update copyright years.
|
4325 |
|
|
* trans.c: Likewise.
|
4326 |
|
|
* trans-array.c: Likewise.
|
4327 |
|
|
* trans-array.h: Likewise.
|
4328 |
|
|
* trans-decl.c: Likewise.
|
4329 |
|
|
* trans-stmt.c: Likewise.
|
4330 |
|
|
* trans-stmt.h: Likewise.
|
4331 |
|
|
* trans-types.c: Likewise.
|
4332 |
|
|
|
4333 |
|
|
2006-01-18 Tobias Schlüter
|
4334 |
|
|
|
4335 |
|
|
PR fortran/18540
|
4336 |
|
|
PR fortran/18937
|
4337 |
|
|
* gfortran.h (BBT_HEADER): Move definition up.
|
4338 |
|
|
(gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
|
4339 |
|
|
* io.c (format_asterisk): Adapt initializer.
|
4340 |
|
|
* resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
|
4341 |
|
|
as extension.
|
4342 |
|
|
(warn_unused_label): Take gfc_st_label label as argument, adapt to
|
4343 |
|
|
new data structure.
|
4344 |
|
|
(gfc_resolve): Adapt call to warn_unused_label.
|
4345 |
|
|
* symbol.c (compare_st_labels): New function.
|
4346 |
|
|
(gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
|
4347 |
|
|
using balanced binary tree.
|
4348 |
|
|
* decl.c (match_char_length, gfc_match_old_kind_spec): Do away
|
4349 |
|
|
with 'cnt'.
|
4350 |
|
|
(warn_unused_label): Adapt to binary tree.
|
4351 |
|
|
* match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
|
4352 |
|
|
* primary.c (match_kind_param): Do away with cnt.
|
4353 |
|
|
|
4354 |
|
|
2006-01-18 Paul Thomas
|
4355 |
|
|
|
4356 |
|
|
PR fortran/20869
|
4357 |
|
|
PR fortran/20875
|
4358 |
|
|
PR fortran/25024
|
4359 |
|
|
* symbol.c (check_conflict): Add pointer valued elemental
|
4360 |
|
|
functions and internal procedures with the external attribute
|
4361 |
|
|
to the list of conflicts.
|
4362 |
|
|
(gfc_add_attribute): New catch-all function to perform the
|
4363 |
|
|
checking of symbol attributes for attribute declaration
|
4364 |
|
|
statements.
|
4365 |
|
|
* decl.c (attr_decl1): Call gfc_add_attribute for each of -
|
4366 |
|
|
(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
|
4367 |
|
|
gfc_match_pointer, gfc_match_dimension, gfc_match_target):
|
4368 |
|
|
Remove spurious calls to checks in symbol.c. Set the
|
4369 |
|
|
attribute directly and use the call to attr_decl() for
|
4370 |
|
|
checking.
|
4371 |
|
|
* gfortran.h: Add prototype for gfc_add_attribute.
|
4372 |
|
|
|
4373 |
|
|
PR fortran/25785
|
4374 |
|
|
* resolve.c (resolve_function): Exclude PRESENT from assumed size
|
4375 |
|
|
argument checking. Replace strcmp's with comparisons with generic
|
4376 |
|
|
codes.
|
4377 |
|
|
|
4378 |
|
|
2006-01-16 Rafael Ávila de Espíndola
|
4379 |
|
|
|
4380 |
|
|
* gfortranspec.c (lang_specific_spec_functions): Remove.
|
4381 |
|
|
|
4382 |
|
|
2006-01-16 Richard Guenther
|
4383 |
|
|
|
4384 |
|
|
* trans-stmt.c (gfc_trans_if_1): Use fold_buildN and build_int_cst.
|
4385 |
|
|
(gfc_trans_arithmetic_if): Likewise.
|
4386 |
|
|
(gfc_trans_simple_do): Likewise.
|
4387 |
|
|
(gfc_trans_do): Likewise.
|
4388 |
|
|
(gfc_trans_do_while): Likewise.
|
4389 |
|
|
(gfc_trans_logical_select): Likewise.
|
4390 |
|
|
(gfc_trans_forall_loop): Likewise.
|
4391 |
|
|
(generate_loop_for_temp_to_lhs): Likewise.
|
4392 |
|
|
(generate_loop_for_rhs_to_temp): Likewise.
|
4393 |
|
|
(gfc_trans_allocate): Likewise.
|
4394 |
|
|
* trans.c (gfc_add_expr_to_block): Do not fold expr again.
|
4395 |
|
|
|
4396 |
|
|
2006-01-16 Richard Guenther
|
4397 |
|
|
|
4398 |
|
|
* trans-expr.c (gfc_conv_function_call): Use fold_build2.
|
4399 |
|
|
* trans-stmt.c (gfc_trans_goto): Likewise. Use build_int_cst.
|
4400 |
|
|
* trans.c (gfc_trans_runtime_check): Don't fold the condition
|
4401 |
|
|
again.
|
4402 |
|
|
|
4403 |
|
|
2006-01-13 Steven G. Kargl
|
4404 |
|
|
|
4405 |
|
|
PR fortran/25756
|
4406 |
|
|
* symbol.c (gfc_free_st_label): Give variable meaningful name. Remove
|
4407 |
|
|
unneeded parenthesis. Fix-up the head of the list (2 lines gleaned
|
4408 |
|
|
from g95).
|
4409 |
|
|
|
4410 |
|
|
2006-01-13 Diego Novillo
|
4411 |
|
|
|
4412 |
|
|
* trans.c (gfc_add_expr_to_block): Do not fold tcc_statement
|
4413 |
|
|
nodes.
|
4414 |
|
|
|
4415 |
|
|
2006-01-11 Tobias Schlüter
|
4416 |
|
|
|
4417 |
|
|
* parse.c (next_fixed): Remove superfluous string concatenation.
|
4418 |
|
|
|
4419 |
|
|
2006-01-11 Bernhard Fischer
|
4420 |
|
|
|
4421 |
|
|
PR fortran/25486
|
4422 |
|
|
* scanner.c (load_line): use maxlen to determine the line-length used
|
4423 |
|
|
for padding lines in fixed form.
|
4424 |
|
|
|
4425 |
|
|
2006-01-11 Paul Thomas
|
4426 |
|
|
|
4427 |
|
|
PR fortran/25730
|
4428 |
|
|
* trans-types.c (copy_dt_decls_ifequal): Copy backend decl for
|
4429 |
|
|
character lengths.
|
4430 |
|
|
|
4431 |
|
|
2006-01-09 Andrew Pinski
|
4432 |
|
|
|
4433 |
|
|
fortran/24936
|
4434 |
|
|
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Use fold_convert
|
4435 |
|
|
to avoid type mismatch.
|
4436 |
|
|
|
4437 |
|
|
2006-01-09 Andrew Pinski
|
4438 |
|
|
|
4439 |
|
|
PR fortran/21977
|
4440 |
|
|
* trans-decl.c (gfc_generate_function_code): Move the NULLing of
|
4441 |
|
|
current_fake_result_decl down to below generate_local_vars.
|
4442 |
|
|
|
4443 |
|
|
2006-01-09 Feng Wang
|
4444 |
|
|
|
4445 |
|
|
PR fortran/12456
|
4446 |
|
|
* trans-expr.c (gfc_to_single_character): New function that converts
|
4447 |
|
|
string to single character if its length is 1.
|
4448 |
|
|
(gfc_build_compare_string):New function that compare string and handle
|
4449 |
|
|
single character specially.
|
4450 |
|
|
(gfc_conv_expr_op): Use gfc_build_compare_string.
|
4451 |
|
|
(gfc_trans_string_copy): Use gfc_to_single_character.
|
4452 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
|
4453 |
|
|
gfc_build_compare_string.
|
4454 |
|
|
* trans.h (gfc_build_compare_string): Add prototype.
|
4455 |
|
|
|
4456 |
|
|
2006-01-09 Feng Wang
|
4457 |
|
|
|
4458 |
|
|
* simplify.c (gfc_simplify_char): Use UCHAR_MAX instead of literal
|
4459 |
|
|
constant.
|
4460 |
|
|
(gfc_simplify_ichar): Get the result from unsinged char and in the
|
4461 |
|
|
range 0 to UCHAR_MAX instead of CHAR_MIN to CHAR_MAX.
|
4462 |
|
|
|
4463 |
|
|
2006-01-08 Erik Edelmann
|
4464 |
|
|
|
4465 |
|
|
PR fortran/25093
|
4466 |
|
|
* resolve.c (resolve_fntype): Check that PUBLIC functions
|
4467 |
|
|
aren't of PRIVATE type.
|
4468 |
|
|
|
4469 |
|
|
2006-01-07 Tobias Schl"uter
|
4470 |
|
|
|
4471 |
|
|
* decl.c (gfc_match_function_decl): Correctly error out in case of
|
4472 |
|
|
omitted function argument list.
|
4473 |
|
|
|
4474 |
|
|
2006-01-07 Paul Thomas
|
4475 |
|
|
|
4476 |
|
|
PR fortran/22146
|
4477 |
|
|
* trans-array.c (gfc_reverse_ss): Remove static attribute.
|
4478 |
|
|
(gfc_walk_elemental_function_args): Replace gfc_expr * argument for
|
4479 |
|
|
the function call with the corresponding gfc_actual_arglist*. Change
|
4480 |
|
|
code accordingly.
|
4481 |
|
|
(gfc_walk_function_expr): Call to gfc_walk_elemental_function_args
|
4482 |
|
|
now requires the actual argument list instead of the expression for
|
4483 |
|
|
the function call.
|
4484 |
|
|
* trans-array.h: Modify the prototype for gfc_walk_elemental_function_args
|
4485 |
|
|
and provide a prototype for gfc_reverse_ss.
|
4486 |
|
|
* trans-stmt.h (gfc_trans_call): Add the scalarization code for the case
|
4487 |
|
|
where an elemental subroutine has array valued actual arguments.
|
4488 |
|
|
|
4489 |
|
|
PR fortran/25029
|
4490 |
|
|
PR fortran/21256
|
4491 |
|
|
PR fortran/20868
|
4492 |
|
|
PR fortran/20870
|
4493 |
|
|
* resolve.c (check_assumed_size_reference): New function to check for upper
|
4494 |
|
|
bound in assumed size array references.
|
4495 |
|
|
(resolve_assumed_size_actual): New function to do a very restricted scan
|
4496 |
|
|
of actual argument expressions of those procedures for which incomplete
|
4497 |
|
|
assumed size array references are not allowed.
|
4498 |
|
|
(resolve_function, resolve_call): Switch off assumed size checking of
|
4499 |
|
|
actual arguments, except for elemental procedures and intrinsic
|
4500 |
|
|
inquiry functions, in some circumstances.
|
4501 |
|
|
(resolve_variable): Call check_assumed_size_reference.
|
4502 |
|
|
|
4503 |
|
|
2006-01-05 Jerry DeLisle
|
4504 |
|
|
|
4505 |
|
|
PR fortran/24268
|
4506 |
|
|
* io.c (next_char_not_space): New function that returns the next
|
4507 |
|
|
character that is not white space.
|
4508 |
|
|
(format_lex): Use the new function to skip whitespace within
|
4509 |
|
|
a format string.
|
4510 |
|
|
|
4511 |
|
|
2006-01-05 Erik Edelmann
|
4512 |
|
|
|
4513 |
|
|
PR fortran/23675
|
4514 |
|
|
* expr.c (gfc_expr_set_symbols_referenced): New function.
|
4515 |
|
|
* gfortran.h: Add a function prototype for it.
|
4516 |
|
|
* resolve.c (resolve_function): Use it for
|
4517 |
|
|
use associated character functions lengths.
|
4518 |
|
|
* expr.c, gfortran.h, resolve.c: Updated copyright years.
|
4519 |
|
|
|
4520 |
|
|
2006-01-03 Steven G. Kargl
|
4521 |
|
|
|
4522 |
|
|
PR fortran/25101
|
4523 |
|
|
* resolve.c (resolve_forall_iterators): Check for scalar variables;
|
4524 |
|
|
Check stride is nonzero.
|
4525 |
|
|
|
4526 |
|
|
2006-01-02 Steven G. Kargl
|
4527 |
|
|
|
4528 |
|
|
PR fortran/24640
|
4529 |
|
|
* parse.c (next_free): Check for whitespace after the label.
|
4530 |
|
|
* match.c (gfc_match_small_literal_int): Initialize cnt variable.
|
4531 |
|
|
|
4532 |
|
|
2006-01-01 Steven G. Kargl
|
4533 |
|
|
|
4534 |
|
|
* ChangeLog: Split previous years into ...
|
4535 |
|
|
* ChangeLog-2002: here.
|
4536 |
|
|
* ChangeLog-2003: here.
|
4537 |
|
|
* ChangeLog-2004: here.
|
4538 |
|
|
* ChangeLog-2005: here.
|
4539 |
|
|
|
4540 |
|
|
|
4541 |
|
|
Copyright (C) 2006 Free Software Foundation, Inc.
|
4542 |
|
|
|
4543 |
|
|
Copying and distribution of this file, with or without modification,
|
4544 |
|
|
are permitted in any medium without royalty provided the copyright
|
4545 |
|
|
notice and this notice are preserved.
|