1 |
712 |
jeremybenn |
2007-12-31 Paul Thomas
|
2 |
|
|
|
3 |
|
|
PR fortran/34558
|
4 |
|
|
* interface.c (gfc_compare_types): Prevent linked lists from
|
5 |
|
|
putting this function into an endless recursive loop.
|
6 |
|
|
|
7 |
|
|
2007-12-26 Daniel Franke
|
8 |
|
|
|
9 |
|
|
PR fortran/34532
|
10 |
|
|
* gfortran.texi: Fixed section about implicit conversion of
|
11 |
|
|
logical and integer variables.
|
12 |
|
|
|
13 |
|
|
2007-12-25 Tobias Burnus
|
14 |
|
|
|
15 |
|
|
PR fortran/34514
|
16 |
|
|
* decl.c (attr_decl1): Reject specifying the DIMENSION for
|
17 |
|
|
already initialized variable.
|
18 |
|
|
(do_parm): Reject PARAMETER for already initialized variable.
|
19 |
|
|
|
20 |
|
|
2007-12-25 Daniel Franke
|
21 |
|
|
|
22 |
|
|
PR fortran/34533
|
23 |
|
|
* intrinsic.h (gfc_check_etime): Renamed to ...
|
24 |
|
|
(gfc_check_dtime_etime): ... this.
|
25 |
|
|
(gfc_check_etime_sub): Renamed to ...
|
26 |
|
|
(gfc_check_dtime_etime_sub): ... this.
|
27 |
|
|
(gfc_resolve_dtime_sub): New prototype.
|
28 |
|
|
* check.c (gfc_check_etime): Renamed to ...
|
29 |
|
|
(gfc_check_dtime_etime): ... this.
|
30 |
|
|
(gfc_check_etime_sub): Renamed to ...
|
31 |
|
|
(gfc_check_dtime_etime_sub): ... this.
|
32 |
|
|
* iresolve.c (gfc_resolve_dtime_sub): New implementation.
|
33 |
|
|
* intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
|
34 |
|
|
added stand-alone intrinsic DTIME.
|
35 |
|
|
(add_subroutines): Adjusted check and resolve function names for
|
36 |
|
|
DTIME and ETIME.
|
37 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
|
38 |
|
|
to known functions in switch.
|
39 |
|
|
* intrinsic.texi (DTIME): Added paragraph about thread-safety,
|
40 |
|
|
fixed return value section.
|
41 |
|
|
(CPU_TIME): Clarified intent and added implementation notes.
|
42 |
|
|
|
43 |
|
|
2007-12-23 Tobias Burnus
|
44 |
|
|
|
45 |
|
|
PR fortran/34421
|
46 |
|
|
* resolve.c (resolve_entries): Add standard error for functions
|
47 |
|
|
returning characters with different length.
|
48 |
|
|
|
49 |
|
|
2007-12-23 Daniel Franke
|
50 |
|
|
|
51 |
|
|
PR fortran/34536
|
52 |
|
|
* matchexp.c (match_ext_mult_operand): Print warning for unary
|
53 |
|
|
operators following arithmetic ones by default.
|
54 |
|
|
(match_ext_add_operand): Likewise.
|
55 |
|
|
|
56 |
|
|
2007-12-22 Daniel Franke
|
57 |
|
|
|
58 |
|
|
PR fortran/34559
|
59 |
|
|
* simplify.c (gfc_simplify_repeat): Added safeguard for empty
|
60 |
|
|
string literals.
|
61 |
|
|
|
62 |
|
|
2007-12-22 Thomas Koenig
|
63 |
|
|
|
64 |
|
|
PR fortran/34549
|
65 |
|
|
* check.c (gfc_check_cshift): Add check that shift is
|
66 |
|
|
type INTEGER.
|
67 |
|
|
|
68 |
|
|
2007-12-21 Jerry DeLisle
|
69 |
|
|
|
70 |
|
|
PR fortran/34540
|
71 |
|
|
* iresolve.c (gfc_resolve_cshift): Take optional dim path
|
72 |
|
|
only if the argument is an optional itself.
|
73 |
|
|
* iresolve.c (gfc_resolve_eoshift): Same.
|
74 |
|
|
|
75 |
|
|
2007-12-21 Paul Thomas
|
76 |
|
|
|
77 |
|
|
PR fortran/34438
|
78 |
|
|
* trans-decl.c (gfc_finish_var_decl): Do not mark derived types
|
79 |
|
|
with default initializers as TREE_STATIC unless they are in the
|
80 |
|
|
main program scope.
|
81 |
|
|
(gfc_get_symbol_decl): Pass derived types with a default
|
82 |
|
|
initializer to gfc_defer_symbol_init.
|
83 |
|
|
(init_default_dt): Apply default initializer to a derived type.
|
84 |
|
|
(init_intent_out_dt): Call init_default_dt.
|
85 |
|
|
(gfc_trans_deferred_vars): Ditto.
|
86 |
|
|
|
87 |
|
|
* module.c (read_module): Check sym->module is there before
|
88 |
|
|
using it in a string comparison.
|
89 |
|
|
|
90 |
|
|
2007-12-20 Tobias Burnus
|
91 |
|
|
|
92 |
|
|
PR fortran/34482
|
93 |
|
|
* gfortran.texi (BOZ): Document behavior for complex
|
94 |
|
|
numbers.
|
95 |
|
|
* target-memory.h (gfc_convert_boz): Update prototype.
|
96 |
|
|
* target-memory.c (gfc_convert_boz): Add error check
|
97 |
|
|
and convert BOZ to smallest possible bit size.
|
98 |
|
|
* resolve.c (resolve_ordinary_assign): Check return value.
|
99 |
|
|
* expr.c (gfc_check_assign): Ditto.
|
100 |
|
|
* simplify.c (simplify_cmplx, gfc_simplify_dble,
|
101 |
|
|
gfc_simplify_float, gfc_simplify_real): Ditto.
|
102 |
|
|
|
103 |
|
|
2007-12-19 Jerry DeLisle
|
104 |
|
|
|
105 |
|
|
PR fortran/34325
|
106 |
|
|
* match.h: New function declaration.
|
107 |
|
|
* match.c (gfc_match_parens): New function to look for mismatched
|
108 |
|
|
parenthesis. (gfc_match_if): Use new function to catch missing '('.
|
109 |
|
|
|
110 |
|
|
2007-12-19 Daniel Franke
|
111 |
|
|
|
112 |
|
|
PR fortran/34495
|
113 |
|
|
* expr.c (check_init_expr): Check whether variables with flavor
|
114 |
|
|
FL_PARAMETER do have a value assigned. Added error messages where
|
115 |
|
|
appropriate.
|
116 |
|
|
* simplify.c (gfc_simplify_transfer): Added check if the MOLD
|
117 |
|
|
argument is a constant if working with initialization
|
118 |
|
|
expressions.
|
119 |
|
|
|
120 |
|
|
2007-12-17 Tobias Burnus
|
121 |
|
|
|
122 |
|
|
* intrinsic.c (add_functions): Undo change; mark float and
|
123 |
|
|
sngl as STD_F77.
|
124 |
|
|
* intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
|
125 |
|
|
* gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
|
126 |
|
|
|
127 |
|
|
2007-12-16 Tobias Burnus
|
128 |
|
|
|
129 |
|
|
PR fortran/34495
|
130 |
|
|
* intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
|
131 |
|
|
(gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
|
132 |
|
|
in initialization expressions for -std=f95.
|
133 |
|
|
|
134 |
|
|
2007-12-16 Thomas Koenig
|
135 |
|
|
|
136 |
|
|
PR fortran/34305
|
137 |
|
|
* resolve.c (compare_bound): If either of the types of
|
138 |
|
|
the arguments isn't INTEGER, return CMP_UNKNOWN.
|
139 |
|
|
|
140 |
|
|
2007-12-16 Tobias Burnus
|
141 |
|
|
|
142 |
|
|
PR fortran/34246
|
143 |
|
|
* trans-types.c (gfc_init_types): Change build_type_variant
|
144 |
|
|
to build_qualified_type.
|
145 |
|
|
(gfc_sym_type): Return gfc_character1_type_node for
|
146 |
|
|
character-returning bind(C) functions.
|
147 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not set
|
148 |
|
|
se->string_length for character-returning bind(c) functions.
|
149 |
|
|
(gfc_trans_string_copy,gfc_trans_scalar_assign):
|
150 |
|
|
Support also single characters.
|
151 |
|
|
|
152 |
|
|
2007-12-16 Bernhard Fischer
|
153 |
|
|
|
154 |
|
|
* errors.c (gfc_notify_std): As originally stated but improperly
|
155 |
|
|
changed, disregard warnings_are_errors for deciding which buffer
|
156 |
|
|
to use for warnings.
|
157 |
|
|
|
158 |
|
|
2007-12-16 Paul Thomas
|
159 |
|
|
|
160 |
|
|
PR fortran/31213
|
161 |
|
|
PR fortran/33888
|
162 |
|
|
PR fortran/33998
|
163 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): If the
|
164 |
|
|
iterator variable does not have a backend_decl, use a local
|
165 |
|
|
temporary.
|
166 |
|
|
(get_elemental_fcn_charlen): New function to map the character
|
167 |
|
|
length of an elemental function onto its actual arglist.
|
168 |
|
|
(gfc_conv_expr_descriptor): Call the above so that the size of
|
169 |
|
|
the temporary can be evaluated.
|
170 |
|
|
* trans-expr.c : Include arith.h and change prototype of
|
171 |
|
|
gfc_apply_interface_mapping_to_expr to return void. Change all
|
172 |
|
|
references to gfc_apply_interface_mapping_to_expr accordingly.
|
173 |
|
|
(gfc_free_interface_mapping): Free the 'expr' field.
|
174 |
|
|
(gfc_add_interface_mapping): Add an argument for the actual
|
175 |
|
|
argument expression. This is copied to the 'expr' field of the
|
176 |
|
|
mapping. Only stabilize the backend_decl if the se is present.
|
177 |
|
|
Copy the character length expression and only add it's backend
|
178 |
|
|
declaration if se is present. Return without working on the
|
179 |
|
|
backend declaration for the new symbol if se is not present.
|
180 |
|
|
(gfc_map_intrinsic_function) : To simplify intrinsics 'len',
|
181 |
|
|
'size', 'ubound' and 'lbound' and then to map the result.
|
182 |
|
|
(gfc_map_fcn_formal_to_actual): Performs the formal to actual
|
183 |
|
|
mapping for the case of a function found in a specification
|
184 |
|
|
expression in the interface being mapped.
|
185 |
|
|
(gfc_apply_interface_mapping_to_ref): Remove seen_result and
|
186 |
|
|
all its references. Remove the inline simplification of LEN
|
187 |
|
|
and call gfc_map_intrinsic_function instead. Change the
|
188 |
|
|
order of mapping of the actual arguments and simplifying
|
189 |
|
|
intrinsic functions. Finally, if a function maps to an
|
190 |
|
|
actual argument, call gfc_map_fcn_formal_to_actual.
|
191 |
|
|
(gfc_conv_function_call): Add 'e' to the call to
|
192 |
|
|
gfc_add_interface_mapping.
|
193 |
|
|
* dump-parse-tree.c (gfc_show_symbol_n): New function for
|
194 |
|
|
diagnostic purposes.
|
195 |
|
|
* gfortran.h : Add prototype for gfc_show_symbol_n.
|
196 |
|
|
* trans.h : Add 'expr' field to gfc_add_interface_mapping.
|
197 |
|
|
Add 'expr' to prototype for gfc_show_symbol_n.
|
198 |
|
|
* resolve.c (resolve_generic_f0): Set specific function as
|
199 |
|
|
referenced.
|
200 |
|
|
|
201 |
|
|
2007-12-14 Tobias Burnus
|
202 |
|
|
|
203 |
|
|
PR fortran/34438
|
204 |
|
|
* resolve.c (resolve_symbol): Do not emit public-variable-
|
205 |
|
|
of-private-derived-type error for non-module variables.
|
206 |
|
|
|
207 |
|
|
2007-12-14 Tobias Burnus
|
208 |
|
|
|
209 |
|
|
PR fortran/34398
|
210 |
|
|
* expr.c (gfc_check_assign): Add range checks for assignments of BOZs.
|
211 |
|
|
* resolve.c (resolve_ordinary_assign): Ditto.
|
212 |
|
|
* arith.c (gfc_range_check): Fix return value for complex numbers.
|
213 |
|
|
|
214 |
|
|
2007-12-14 Daniel Franke
|
215 |
|
|
|
216 |
|
|
PR fortran/34324
|
217 |
|
|
* module.c (parse_atom): Fixed parsing of modules files whose
|
218 |
|
|
lines are terminated by CRLF.
|
219 |
|
|
|
220 |
|
|
2007-12-13 Anton Korobeynikov
|
221 |
|
|
|
222 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Correct decl
|
223 |
|
|
construction for select_string() and internal_unpack()
|
224 |
|
|
|
225 |
|
|
2007-12-13 Duncan Sands
|
226 |
|
|
Anton Korobeynikov
|
227 |
|
|
|
228 |
|
|
* trans-expr.c (gfc_conv_structure): Make sure record constructors
|
229 |
|
|
for static variables are marked constant.
|
230 |
|
|
|
231 |
|
|
2007-12-12 Tobias Burnus
|
232 |
|
|
|
233 |
|
|
PR fortran/34254
|
234 |
|
|
* decl.c (match_char_kind): Support use-associated/imported
|
235 |
|
|
kind parameters.
|
236 |
|
|
(gfc_match_kind_spec): Support als BT_CHARACTER, when
|
237 |
|
|
re-scanning kind spec.
|
238 |
|
|
|
239 |
|
|
2007-12-11 Aldy Hernandez
|
240 |
|
|
|
241 |
|
|
* decl.c (add_global_entry): Make type unsigned.
|
242 |
|
|
|
243 |
|
|
2007-12-11 Bernhard Fischer
|
244 |
|
|
|
245 |
|
|
* decl.c (match_prefix): Make seen_type a boolean.
|
246 |
|
|
(add_global_entry): Cache type distinction.
|
247 |
|
|
* trans-decl.c: Whitespace cleanup.
|
248 |
|
|
|
249 |
|
|
2007-12-10 Tobias Burnus
|
250 |
|
|
|
251 |
|
|
PR fortran/34425
|
252 |
|
|
* interface.c (get_expr_storage_size): Use signed integer when
|
253 |
|
|
obtaining the bounds.
|
254 |
|
|
|
255 |
|
|
2007-12-09 Jakub Jelinek
|
256 |
|
|
|
257 |
|
|
PR fortran/22244
|
258 |
|
|
* trans.h (struct array_descr_info): Forward declaration.
|
259 |
|
|
(gfc_get_array_descr_info): New prototype.
|
260 |
|
|
(enum gfc_array_kind): New type.
|
261 |
|
|
(struct lang_type): Add akind field.
|
262 |
|
|
(GFC_TYPE_ARRAY_AKIND): Define.
|
263 |
|
|
* trans-types.c: Include dwarf2out.h.
|
264 |
|
|
(gfc_build_array_type): Add akind argument. Adjust
|
265 |
|
|
gfc_get_array_type_bounds call.
|
266 |
|
|
(gfc_get_nodesc_array_type): Include proper debug info even for
|
267 |
|
|
assumed-size arrays.
|
268 |
|
|
(gfc_get_array_type_bounds): Add akind argument, set
|
269 |
|
|
GFC_TYPE_ARRAY_AKIND to it.
|
270 |
|
|
(gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
|
271 |
|
|
callers.
|
272 |
|
|
(gfc_get_array_descr_info): New function.
|
273 |
|
|
* trans-array.c (gfc_trans_create_temp_array,
|
274 |
|
|
gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
|
275 |
|
|
callers.
|
276 |
|
|
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
|
277 |
|
|
* trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
|
278 |
|
|
* Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
|
279 |
|
|
* f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
|
280 |
|
|
|
281 |
|
|
2007-12-09 Paul Thomas
|
282 |
|
|
|
283 |
|
|
PR fortran/32129
|
284 |
|
|
* dump-parse-tree.c (gfc_show_expr_n): New function for
|
285 |
|
|
debugging.
|
286 |
|
|
* gfortran.h : Add prototype for gfc_show_expr_n.
|
287 |
|
|
* expr.c (simplify_constructor): Copy the constructor
|
288 |
|
|
expression and try to simplify that. If success, replace the
|
289 |
|
|
original. Otherwise discard the copy, keep going through
|
290 |
|
|
the structure and return success.
|
291 |
|
|
|
292 |
|
|
PR fortran/31487
|
293 |
|
|
* decl.c (build_struct): Pad out default initializers with
|
294 |
|
|
spaces to the component character length.
|
295 |
|
|
|
296 |
|
|
2007-12-08 Tobias Burnus
|
297 |
|
|
|
298 |
|
|
PR fortran/34342
|
299 |
|
|
PR fortran/34345
|
300 |
|
|
PR fortran/18026
|
301 |
|
|
PR fortran/29471
|
302 |
|
|
* gfortran.texi (BOZ literal constants): Improve documentation
|
303 |
|
|
and adapt for BOZ changes.
|
304 |
|
|
* Make-lang.ini (resolve.o): Add target-memory.h dependency.
|
305 |
|
|
* gfortran.h (gfc_expr): Add is_boz flag.
|
306 |
|
|
* expr.c: Include target-memory.h.
|
307 |
|
|
(gfc_check_assign): Support transferring BOZ for real/cmlx.
|
308 |
|
|
* resolve.c: Include target-memory.h
|
309 |
|
|
(resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
|
310 |
|
|
* target-memory.c (gfc_convert_boz): New function.
|
311 |
|
|
* target-memory.c (gfc_convert_boz): Add prototype.
|
312 |
|
|
* primary.c (match_boz_constant): Set is_boz, enable F95 error
|
313 |
|
|
also without -pedantic, and allow for Fortran 2003 BOZ.
|
314 |
|
|
(match_real_constant): Fix comment.
|
315 |
|
|
* simplify.c (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
|
316 |
|
|
gfc_simplify_real): Support Fortran 2003 BOZ.
|
317 |
|
|
|
318 |
|
|
2007-12-08 Jakub Jelinek
|
319 |
|
|
|
320 |
|
|
PR fortran/34359
|
321 |
|
|
* gfortran.h (gfc_file): Remove sibling and down fields.
|
322 |
|
|
* scanner.c (file_changes, file_changes_cur, file_changes_count,
|
323 |
|
|
file_changes_allocated): New variables.
|
324 |
|
|
(add_file_change, report_file_change): New functions.
|
325 |
|
|
(change_file): Remove.
|
326 |
|
|
(gfc_start_source_files, gfc_end_source_files): Call
|
327 |
|
|
report_file_change instead of change_file.
|
328 |
|
|
(gfc_advance_line): Call report_file_change instead of change_file,
|
329 |
|
|
call it even if lb->file == lb->next->file.
|
330 |
|
|
(get_file): Revert last changes.
|
331 |
|
|
(preprocessor_line): Call add_file_change when entering or leaving
|
332 |
|
|
a file.
|
333 |
|
|
(load_file): Likewise. Set file_change[...].lb for all newly added
|
334 |
|
|
file changes.
|
335 |
|
|
|
336 |
|
|
2007-12-06 Tobias Burnus
|
337 |
|
|
|
338 |
|
|
PR fortran/34333
|
339 |
|
|
* primary.c (match_boz_constant): Add gfc_notify_std diagnostics.
|
340 |
|
|
|
341 |
|
|
2007-12-06 Paul Thomas
|
342 |
|
|
|
343 |
|
|
PR fortran/34335
|
344 |
|
|
* module.c (find_symbol): Do not return symtrees with unique
|
345 |
|
|
names, which shows that they are private.
|
346 |
|
|
|
347 |
|
|
2007-12-05 Jakub Jelinek
|
348 |
|
|
|
349 |
|
|
PR debug/33739
|
350 |
|
|
* gfortran.h (gfc_file): Remove included_by field, add sibling and
|
351 |
|
|
down.
|
352 |
|
|
(gfc_start_source_files, gfc_end_source_files): New prototypes.
|
353 |
|
|
* parse.c (gfc_parse_file): Call gfc_start_source_files and
|
354 |
|
|
gfc_end_source_files instead of calling the debugging hooks directly.
|
355 |
|
|
* error.c (show_locus): Use up field instead of included_by.
|
356 |
|
|
* scanner.c (change_file, gfc_start_source_files,
|
357 |
|
|
gfc_end_source_files): New functions.
|
358 |
|
|
(gfc_advance_line): Call change_file instead of calling debug hooks
|
359 |
|
|
directly.
|
360 |
|
|
(get_file): Set up rather than included_by. Initialize down and
|
361 |
|
|
sibling.
|
362 |
|
|
(preprocessor_line, load_file): Don't set up field here.
|
363 |
|
|
|
364 |
|
|
2007-12-05 Tobias Burnus
|
365 |
|
|
|
366 |
|
|
PR fortran/34333
|
367 |
|
|
* arith.h (gfc_compare_expr): Add operator argument, needed
|
368 |
|
|
for compare_real.
|
369 |
|
|
* arith.c (gfc_arith_init_1): Use mpfr_min instead of mpfr_cmp/set
|
370 |
|
|
to account for NaN.
|
371 |
|
|
(compare_real): New function, as mpfr_cmp but takes NaN into account.
|
372 |
|
|
(gfc_compare_expr): Use compare_real.
|
373 |
|
|
(compare_complex): Take NaN into account.
|
374 |
|
|
(gfc_arith_eq,gfc_arith_ne,gfc_arith_gt,gfc_arith_ge,gfc_arith_lt,
|
375 |
|
|
gfc_arith_le): Pass operator to gfc_compare_expr.
|
376 |
|
|
* resolve.c (compare_cases,resolve_select): Pass operator
|
377 |
|
|
to gfc_compare_expr.
|
378 |
|
|
* simplify.c (simplify_min_max): Take NaN into account.
|
379 |
|
|
|
380 |
|
|
2007-12-04 Tobias Burnus
|
381 |
|
|
|
382 |
|
|
PR fortran/34318
|
383 |
|
|
* module.c (mio_gmp_real): Properly write NaN and Infinity.
|
384 |
|
|
|
385 |
|
|
2007-12-02 Tobias Burnus
|
386 |
|
|
|
387 |
|
|
PR fortran/34186
|
388 |
|
|
* symbol.c (generate_isocbinding_symbol): Fix setting string length.
|
389 |
|
|
|
390 |
|
|
2007-11-30 Tobias Burnus
|
391 |
|
|
|
392 |
|
|
PR fortran/34133
|
393 |
|
|
* match.h: Add bool allow_binding_name to gfc_match_bind_c.
|
394 |
|
|
* decl.c (match_attr_spec,gfc_match_bind_c_stmt,gfc_match_entry):
|
395 |
|
|
Adjust accordingly.
|
396 |
|
|
(gfc_match_bind_c): Add allow_binding_name argument, reject
|
397 |
|
|
binding name for dummy arguments.
|
398 |
|
|
(gfc_match_suffix,gfc_match_subroutine): Make use of
|
399 |
|
|
allow_binding_name.
|
400 |
|
|
|
401 |
|
|
2007-11-30 Tobias Burnus
|
402 |
|
|
|
403 |
|
|
PR fortran/34186
|
404 |
|
|
* symbol.c (generate_isocbinding_symbol): Set string length.
|
405 |
|
|
* dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
|
406 |
|
|
* misc.c (gfc_basic_typename): Handle BT_VOID.
|
407 |
|
|
|
408 |
|
|
2007-11-29 Steven G. Kargl
|
409 |
|
|
|
410 |
|
|
PR fortran/34230
|
411 |
|
|
* fortran/arith.c (gfc_check_real_range): Set intermediate values
|
412 |
|
|
to +-Inf and 0 when -fno-range-check is in effect.
|
413 |
|
|
* fortran/invoke.texi: Improve -fno-range-check description.
|
414 |
|
|
|
415 |
|
|
PR fortran/34203
|
416 |
|
|
* fortran/invoke.texi: Document the C escaped characters activated
|
417 |
|
|
by -fbackslash.
|
418 |
|
|
|
419 |
|
|
2007-11-29 Tobias Burnus
|
420 |
|
|
|
421 |
|
|
PR fortran/34248
|
422 |
|
|
* trans-decl.c (generate_dependency_declarations): Check
|
423 |
|
|
for NULL pointers before accessing the string length.
|
424 |
|
|
|
425 |
|
|
2007-11-29 Tobias Burnus
|
426 |
|
|
|
427 |
|
|
PR fortran/34262
|
428 |
|
|
* intrinsic.c (gfc_get_intrinsic_sub_symbol): Add comment.
|
429 |
|
|
(gfc_intrinsic_sub_interface): Copy elemental state if needed.
|
430 |
|
|
* iresolve.c (gfc_resolve_mvbits): Mark procedure as elemental.
|
431 |
|
|
|
432 |
|
|
2007-11-28 Jakub Jelinek
|
433 |
|
|
|
434 |
|
|
* trans-expr.c (gfc_trans_string_copy): Convert both dest and
|
435 |
|
|
src to void *.
|
436 |
|
|
|
437 |
|
|
PR fortran/34247
|
438 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): For REFERENCE_TYPE
|
439 |
|
|
pass by reference only PARM_DECLs or non-artificial decls.
|
440 |
|
|
|
441 |
|
|
2007-11-27 Jerry DeLisle
|
442 |
|
|
|
443 |
|
|
PR fortran/32928
|
444 |
|
|
* decl.c (match_data_constant): Use gfc_match_init_expr to match the
|
445 |
|
|
array spec and set the initializer expression.
|
446 |
|
|
|
447 |
|
|
2007-11-27 Jerry DeLisle
|
448 |
|
|
|
449 |
|
|
PR fortran/34227
|
450 |
|
|
* match.c (gfc_match_common): Add additional check for BLOCK DATA.
|
451 |
|
|
|
452 |
|
|
2007-11-27 Paul Thomas
|
453 |
|
|
|
454 |
|
|
PR fortran/29389
|
455 |
|
|
*resolve.c (resolve_ordinary_assign): Use find_sym_in_expr to
|
456 |
|
|
test if a temporary should be written for a vector subscript
|
457 |
|
|
on the lhs.
|
458 |
|
|
|
459 |
|
|
PR fortran/33850
|
460 |
|
|
* restore.c (pure_stmt_function): Add prototype and new
|
461 |
|
|
function. Calls impure_stmt_fcn.
|
462 |
|
|
(pure_function): Call it.
|
463 |
|
|
(impure_stmt_fcn): New function.
|
464 |
|
|
|
465 |
|
|
* expr.c (gfc_traverse_expr): Call *func for all expression
|
466 |
|
|
types, not just variables. Add traversal of character lengths,
|
467 |
|
|
iterators and component character lengths and arrayspecs.
|
468 |
|
|
(expr_set_symbols_referenced): Return false if not a variable.
|
469 |
|
|
* trans-stmt.c (forall_replace, forall_restore): Ditto.
|
470 |
|
|
* resolve.c (forall_index): Ditto.
|
471 |
|
|
(sym_in_expr): New function.
|
472 |
|
|
(find_sym_in_expr): Rewrite to traverse expression calling
|
473 |
|
|
sym_in_expr.
|
474 |
|
|
*trans-decl.c (expr_decls): New function.
|
475 |
|
|
(generate_expr_decls): Rewrite to traverse expression calling
|
476 |
|
|
expr_decls.
|
477 |
|
|
*match.c (check_stmt_fcn): New function.
|
478 |
|
|
(recursive_stmt_fcn): Rewrite to traverse expression calling
|
479 |
|
|
check_stmt_fcn.
|
480 |
|
|
|
481 |
|
|
2007-11-27 Paul Thomas
|
482 |
|
|
|
483 |
|
|
PR fortran/33541
|
484 |
|
|
*interface.c (compare_actual_formal): Exclude assumed size
|
485 |
|
|
arrays from the possibility of scalar to array mapping.
|
486 |
|
|
* decl.c (get_proc_name): Fix whitespace problem.
|
487 |
|
|
|
488 |
|
|
PR fortran/34231
|
489 |
|
|
* gfortran.h : Add 'use_rename' bit to symbol_attribute.
|
490 |
|
|
* module.c : Add 'renamed' field to pointer_info.u.rsym.
|
491 |
|
|
(load_generic_interfaces): Add 'renamed' that is set after the
|
492 |
|
|
number_use_names is called. This is used to set the attribute
|
493 |
|
|
use_rename, which, in its turn identifies those symbols that
|
494 |
|
|
have not been renamed.
|
495 |
|
|
(load_needed): If pointer_info.u.rsym->renamed is set, then
|
496 |
|
|
set the use_rename attribute of the symbol.
|
497 |
|
|
(read_module): Correct an erroneous use of use_flag. Use the
|
498 |
|
|
renamed flag and the use_rename attribute to determine which
|
499 |
|
|
symbols are not renamed.
|
500 |
|
|
|
501 |
|
|
2007-11-26 Steven G. Kargl
|
502 |
|
|
|
503 |
|
|
PR fortran/34203
|
504 |
|
|
* options.c: Change default behavior of backslash processing.
|
505 |
|
|
* invoke.texi: Update documentation.
|
506 |
|
|
|
507 |
|
|
2007-11-25 Jerry DeLisle
|
508 |
|
|
|
509 |
|
|
PR fortran/33152
|
510 |
|
|
* decl.c (add_init_expr_to_sym): Remove error message.
|
511 |
|
|
* resolve.c (check_data_variable): Add new check for a data variable
|
512 |
|
|
that has an array spec, but no ref and issue an error.
|
513 |
|
|
* match.c (gfc_match_common): Remove error message.
|
514 |
|
|
|
515 |
|
|
2007-11-25 Tobias Burnus
|
516 |
|
|
|
517 |
|
|
PR fortran/34079
|
518 |
|
|
* trans-types.c (gfc_return_by_reference,
|
519 |
|
|
gfc_get_function_type): Do not return result of
|
520 |
|
|
character-returning bind(C) functions as argument.
|
521 |
|
|
* trans-expr.c (gfc_conv_function_call): Ditto.
|
522 |
|
|
|
523 |
|
|
2007-11-25 Jerry DeLisle
|
524 |
|
|
|
525 |
|
|
PR fortran/34175
|
526 |
|
|
* gfortran.texi: Document default forms assumed for various file
|
527 |
|
|
extensions.
|
528 |
|
|
|
529 |
|
|
2007-11-25 Paul Thomas
|
530 |
|
|
|
531 |
|
|
PR fortran/33499
|
532 |
|
|
* decl.c (get_proc_name): If ENTRY statement occurs before type
|
533 |
|
|
specification, set the symbol untyped and ensure that it is in
|
534 |
|
|
the procedure namespace.
|
535 |
|
|
|
536 |
|
|
2007-11-24 Paul Thomas
|
537 |
|
|
|
538 |
|
|
PR fortran/33541
|
539 |
|
|
* module.c (find_symtree_for_symbol): Move to new location.
|
540 |
|
|
(find_symbol): New function.
|
541 |
|
|
(load_generic_interfaces): Rework completely so that symtrees
|
542 |
|
|
have the local name and symbols have the use name. Renamed
|
543 |
|
|
generic interfaces exclude the use of the interface without an
|
544 |
|
|
ONLY clause (11.3.2).
|
545 |
|
|
(read_module): Implement 11.3.2 in the same way as for generic
|
546 |
|
|
interfaces.
|
547 |
|
|
|
548 |
|
|
2007-11-23 Christopher D. Rickett
|
549 |
|
|
|
550 |
|
|
* trans-common.c (build_common_decl): Fix the alignment for
|
551 |
|
|
BIND(C) common blocks.
|
552 |
|
|
|
553 |
|
|
2007-11-23 Jerry DeLisle
|
554 |
|
|
|
555 |
|
|
PR fortran/34209
|
556 |
|
|
* iresolve.c (gfc_resolve_nearest): If sign variable kind does not match
|
557 |
|
|
kind of input variable, convert it to match.
|
558 |
|
|
|
559 |
|
|
PR fortran/33317
|
560 |
|
|
* trans.h: Modify prototype for gfc_conv_missing_dummy.
|
561 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Modify to pass an integer kind
|
562 |
|
|
parameter in. Set the type of the dummy to the kind given.
|
563 |
|
|
(gfc_conv_function_call): Pass representation.length to
|
564 |
|
|
gfc_conv_missing_dummy.
|
565 |
|
|
* iresolve.c (gfc_resolve_cshift): Determine the correct kind to use and
|
566 |
|
|
if appropriate set representation.length to this kind value.
|
567 |
|
|
(gfc_resolve_eoshift): Likewise.
|
568 |
|
|
* check.c (gfc_check_cshift): Enable dim_check to allow DIM as an
|
569 |
|
|
optional argument. (gfc_check_eoshift): Likewise.
|
570 |
|
|
* trans_intrinsic.c (gfc_conv_intrinsic_function_args): Update call to
|
571 |
|
|
gfc_conv_missing_dummy.
|
572 |
|
|
|
573 |
|
|
2007-11-23 Tobias Burnus
|
574 |
|
|
|
575 |
|
|
PR fortran/34187
|
576 |
|
|
* module.c (load_needed): Ensure binding_label is not lost.
|
577 |
|
|
|
578 |
|
|
* decl.c (set_binding_label,gfc_match_bind_c): Replace
|
579 |
|
|
strncpy by strcpy.
|
580 |
|
|
|
581 |
|
|
2007-11-23 Tobias Burnus
|
582 |
|
|
Steven G. Kargl
|
583 |
|
|
|
584 |
|
|
PR fortran/34192
|
585 |
|
|
* simplify.c (gfc_simplify_nearest): Fix NEAREST for
|
586 |
|
|
subnormal numbers.
|
587 |
|
|
|
588 |
|
|
2007-11-23 Aldy Hernandez
|
589 |
|
|
|
590 |
|
|
* trans-expr.c (gfc_trans_string_copy): Use "void *" when building a
|
591 |
|
|
memset.
|
592 |
|
|
|
593 |
|
|
2007-11-22 Tobias Burnus
|
594 |
|
|
|
595 |
|
|
* primary.c (gfc_match_structure_constructor): Allow
|
596 |
|
|
constructor for types without components.
|
597 |
|
|
|
598 |
|
|
2007-11-22 Tobias Burnus
|
599 |
|
|
|
600 |
|
|
PR fortran/34079
|
601 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not append
|
602 |
|
|
string length arguments when calling bind(c) procedures.
|
603 |
|
|
* trans-decl.c (create_function_arglist): Do not append
|
604 |
|
|
string length arguments when declaring bind(c) procedures.
|
605 |
|
|
|
606 |
|
|
2007-11-21 Francois-Xavier Coudert
|
607 |
|
|
|
608 |
|
|
PR fortran/34083
|
609 |
|
|
* resolve.c (resolve_structure_cons): Also check for zero rank.
|
610 |
|
|
|
611 |
|
|
2007-11-19 Jerry DeLisle
|
612 |
|
|
|
613 |
|
|
PR fortran/33317
|
614 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Revert.
|
615 |
|
|
* iresolve.c (gfc_resolve_cshift): Revert.
|
616 |
|
|
(gfc_resolve_eoshift): Likewise.
|
617 |
|
|
* check.c (gfc_check_cshift): Revert.
|
618 |
|
|
(gfc_check_eoshift): Likewise.
|
619 |
|
|
|
620 |
|
|
2007-11-19 Tobias Burnus
|
621 |
|
|
|
622 |
|
|
PR fortran/34079
|
623 |
|
|
* decl.c (gfc_match_entry): Support BIND(C).
|
624 |
|
|
(gfc_match_subroutine): Fix comment typo.
|
625 |
|
|
|
626 |
|
|
2007-11-18 Jerry DeLisle
|
627 |
|
|
|
628 |
|
|
PR fortran/33317
|
629 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy
|
630 |
|
|
argument to default integer if flagged to do so. Fix typo in comment.
|
631 |
|
|
* resolve.c (gfc_resolve_dim_arg): Whitespace cleanup.
|
632 |
|
|
* iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute
|
633 |
|
|
for converting the DIM type appropriately in trans-expr.c.
|
634 |
|
|
(gfc_resolve_eoshift): Likewise.
|
635 |
|
|
* check.c (dim_check): Remove pre-existing dead code.
|
636 |
|
|
(gfc_check_cshift): Enable dim_check to allow DIM as an optional.
|
637 |
|
|
(gfc_check_eoshift): Likewise.
|
638 |
|
|
* trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace.
|
639 |
|
|
|
640 |
|
|
2007-11-18 Paul Thomas
|
641 |
|
|
|
642 |
|
|
PR fortran/31608
|
643 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Remove exception
|
644 |
|
|
for indirect references in the call to gfc_trans_scalar_assign.
|
645 |
|
|
* trans-expr.c (gfc_conv_string_parameter): Instead of asserting
|
646 |
|
|
that the expression is not an indirect reference, cast it to a
|
647 |
|
|
pointer type of the length given by se->string_length.
|
648 |
|
|
|
649 |
|
|
2007-11-18 Tobias Burnus
|
650 |
|
|
|
651 |
|
|
PR fortran/34137
|
652 |
|
|
* primary.c (match_variable): Reject non-result entry symbols.
|
653 |
|
|
* resolve.c (resolve_contained_fntype): Do not check entry master
|
654 |
|
|
functions.
|
655 |
|
|
|
656 |
|
|
2007-11-17 Francois-Xavier Coudert
|
657 |
|
|
|
658 |
|
|
* trans-types.c (gfc_init_types): Use wider buffer.
|
659 |
|
|
|
660 |
|
|
2007-11-17 Francois-Xavier Coudert
|
661 |
|
|
|
662 |
|
|
* trans-types.c (gfc_init_types): Use Fortran-90-style type
|
663 |
|
|
names, with kinds.
|
664 |
|
|
|
665 |
|
|
2007-11-17 Tobias Burnus
|
666 |
|
|
|
667 |
|
|
PR fortran/34133
|
668 |
|
|
* decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow
|
669 |
|
|
bind(c) attribute for internal procedures.
|
670 |
|
|
|
671 |
|
|
2007-11-17 Francois-Xavier Coudert
|
672 |
|
|
|
673 |
|
|
PR fortran/25252
|
674 |
|
|
* interface.c (gfc_current_interface_head,
|
675 |
|
|
gfc_set_current_interface_head): New functions.
|
676 |
|
|
* decl.c (gfc_match_modproc): Move check for syntax error earlier.
|
677 |
|
|
On syntax error, restore previous state of the interface.
|
678 |
|
|
* gfortran.h (gfc_current_interface_head,
|
679 |
|
|
gfc_set_current_interface_head): New prototypes.
|
680 |
|
|
|
681 |
|
|
2007-11-17 Francois-Xavier Coudert
|
682 |
|
|
|
683 |
|
|
PR fortran/30285
|
684 |
|
|
* module.c (struct written_common, written_commons): New structure.
|
685 |
|
|
(compare_written_commons, free_written_common, write_common_0):
|
686 |
|
|
New functions.
|
687 |
|
|
(write_common): Call recursive function write_common_0.
|
688 |
|
|
|
689 |
|
|
2007-11-17 Francois-Xavier Coudert
|
690 |
|
|
|
691 |
|
|
PR fortran/34108
|
692 |
|
|
* io.c (check_format_string): Only check character expressions.
|
693 |
|
|
(match_dt_format): Return MATCH_ERROR if that is what
|
694 |
|
|
gfc_match_st_label said.
|
695 |
|
|
|
696 |
|
|
2007-11-16 Francois-Xavier Coudert
|
697 |
|
|
|
698 |
|
|
PR fortran/33957
|
699 |
|
|
* expr.c (check_inquiry): Don't call gfc_error now.
|
700 |
|
|
|
701 |
|
|
2007-11-16 Francois-Xavier Coudert
|
702 |
|
|
|
703 |
|
|
PR fortran/33739
|
704 |
|
|
PR fortran/34084
|
705 |
|
|
* scanner.c (start_source_file, end_source_file,
|
706 |
|
|
exit_remaining_files, gfc_advance_line): Revert rev. 130016.
|
707 |
|
|
|
708 |
|
|
2007-11-16 Paul Thomas
|
709 |
|
|
|
710 |
|
|
PR fortran/34008
|
711 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): Add check for
|
712 |
|
|
INTENT_INOUT as well as INTENT_OUT.
|
713 |
|
|
(gfc_trans_call): Remove redundant gcc_asserts in dependency
|
714 |
|
|
check.
|
715 |
|
|
|
716 |
|
|
2007-11-16 Paul Thomas
|
717 |
|
|
|
718 |
|
|
PR fortran/33986
|
719 |
|
|
* trans-array.c (gfc_conv_array_parameter ): Allow allocatable
|
720 |
|
|
function results.
|
721 |
|
|
|
722 |
|
|
2007-11-15 Tobias Burnus
|
723 |
|
|
|
724 |
|
|
PR fortran/33917
|
725 |
|
|
* decl.c (match_procedure_decl): Pre-resolve interface.
|
726 |
|
|
* resolve.c (resolve_symbol): Reject interfaces later
|
727 |
|
|
declared in procedure statements.
|
728 |
|
|
|
729 |
|
|
2007-11-13 Jerry DeLisle
|
730 |
|
|
|
731 |
|
|
PR fortran/33162
|
732 |
|
|
* decl.c (match_procedure_decl): Remove TODO and allow intrinsics in
|
733 |
|
|
PROCEDURE declarations. Set attr.untyped to allow the interface to be
|
734 |
|
|
resolved later where the symbol type will be set.
|
735 |
|
|
* interface.c (compare_intr_interfaces): Remove static from pointer
|
736 |
|
|
declarations. Add type and kind checks for dummy function arguments.
|
737 |
|
|
(compare_actual_formal_intr): New function to compare an actual
|
738 |
|
|
argument with an intrinsic function. (gfc_procedures_use): Add check for
|
739 |
|
|
interface that points to an intrinsic function, use the new function.
|
740 |
|
|
* resolve.c (resolve_specific_f0): Resolve the intrinsic interface.
|
741 |
|
|
(resolve_specific_s0): Ditto.
|
742 |
|
|
|
743 |
|
|
2007-11-13 Paul Thomas
|
744 |
|
|
|
745 |
|
|
PR fortran/34080
|
746 |
|
|
* iresolve.c (gfc_resolve_transfer): Do not try to convert
|
747 |
|
|
to a constant MOLD expression, if it is an assumed size
|
748 |
|
|
dummy.
|
749 |
|
|
|
750 |
|
|
2007-11-10 Francois-Xavier Coudert
|
751 |
|
|
|
752 |
|
|
* trans-common.c: Remove prototype for gfc_get_common.
|
753 |
|
|
|
754 |
|
|
2007-11-10 Francois-Xavier Coudert
|
755 |
|
|
|
756 |
|
|
PR fortran/33592
|
757 |
|
|
* trans.c (gfc_call_realloc): Fix the logic and rename variables.
|
758 |
|
|
|
759 |
|
|
2007-11-08 Francois-Xavier Coudert
|
760 |
|
|
|
761 |
|
|
PR fortran/33739
|
762 |
|
|
* scanner.c (start_source_file, end_source_file,
|
763 |
|
|
exit_remaining_files): New functions.
|
764 |
|
|
(gfc_advance_line): Use the new functions.
|
765 |
|
|
|
766 |
|
|
2007-11-08 Francois-Xavier Coudert
|
767 |
|
|
|
768 |
|
|
PR fortran/34028
|
769 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.
|
770 |
|
|
|
771 |
|
|
2007-11-08 Tobias Burnus
|
772 |
|
|
|
773 |
|
|
PR fortran/33917
|
774 |
|
|
* interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
|
775 |
|
|
procedures for MODULE PROCEDURE.
|
776 |
|
|
* decl.c (match_procedure_in_interface): Do not mark as procedure.
|
777 |
|
|
|
778 |
|
|
2007-11-03 Francois-Xavier Coudert
|
779 |
|
|
|
780 |
|
|
PR fortran/33881
|
781 |
|
|
* trans-array.c (gfc_conv_array_parameter): Evaluate
|
782 |
|
|
se->string_length instead of the expr->ts.cl->backend_decl.
|
783 |
|
|
|
784 |
|
|
2007-11-03 Francois-Xavier Coudert
|
785 |
|
|
|
786 |
|
|
* gfortran.h: Shorten comment.
|
787 |
|
|
* trans-types.c (gfc_get_function_type): Allow argument to have
|
788 |
|
|
flavor FL_PROGRAM.
|
789 |
|
|
* trans-decl.c (gfc_sym_mangled_function_id): Mangle main program
|
790 |
|
|
name into MAIN__.
|
791 |
|
|
(build_function_decl): Fix comment.
|
792 |
|
|
* parse.c (main_program_symbol): Give the main program its proper
|
793 |
|
|
name, if any. Set its flavor to FL_PROGRAM.
|
794 |
|
|
(gfc_parse_file): Likewise.
|
795 |
|
|
|
796 |
|
|
2007-11-02 Francois-Xavier Coudert
|
797 |
|
|
|
798 |
|
|
* intrinsic.texi (ALLOCATED): Fix typo.
|
799 |
|
|
|
800 |
|
|
2007-10-31 Tobias Burnus
|
801 |
|
|
|
802 |
|
|
PR fortran/33941
|
803 |
|
|
* modules.c (intrinsics): Use only alphabetic names for
|
804 |
|
|
intrinsic operators.
|
805 |
|
|
|
806 |
|
|
2007-10-31 Jerry DeLisle
|
807 |
|
|
|
808 |
|
|
PR fortran/33162
|
809 |
|
|
* interface.c (compare_intr_interfaces): New function to check intrinsic
|
810 |
|
|
function arguments against formal arguments. (compare_interfaces): Fix
|
811 |
|
|
logic in comparison of function and subroutine attributes.
|
812 |
|
|
(compare_parameter): Use new function for intrinsic as argument.
|
813 |
|
|
* resolve.c (resolve_actual_arglist): Allow an intrinsic without
|
814 |
|
|
function attribute to be checked further. Set function attribute if
|
815 |
|
|
intrinsic symbol is found, return FAILURE if not.
|
816 |
|
|
|
817 |
|
|
2007-10-31 Paul Thomas
|
818 |
|
|
|
819 |
|
|
PR fortran/33897
|
820 |
|
|
* decl.c (gfc_match_entry): Do not make ENTRY name
|
821 |
|
|
global for contained procedures.
|
822 |
|
|
* parse.c (gfc_fixup_sibling_symbols): Fix code for
|
823 |
|
|
determining whether a procedure is external.
|
824 |
|
|
|
825 |
|
|
2007-10-30 Francois-Xavier Coudert
|
826 |
|
|
|
827 |
|
|
PR fortran/33596
|
828 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
|
829 |
|
|
from the result of build_call_expr.
|
830 |
|
|
|
831 |
|
|
2007-10-29 Paul Thomas
|
832 |
|
|
|
833 |
|
|
PR fortran/31217
|
834 |
|
|
PR fortran/33811
|
835 |
|
|
PR fortran/33686
|
836 |
|
|
|
837 |
|
|
* trans-array.c (gfc_conv_loop_setup): Send a complete type to
|
838 |
|
|
gfc_trans_create_temp_array if the temporary is character.
|
839 |
|
|
* trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
|
840 |
|
|
allocate_temp_for_forall_nest.
|
841 |
|
|
(forall_replace): New function.
|
842 |
|
|
(forall_replace_symtree): New function.
|
843 |
|
|
(forall_restore): New function.
|
844 |
|
|
(forall_restore_symtree): New function.
|
845 |
|
|
(forall_make_variable_temp): New function.
|
846 |
|
|
(check_forall_dependencies): New function.
|
847 |
|
|
(cleanup_forall_symtrees): New function.
|
848 |
|
|
gfc_trans_forall_1): Add and initialize pre and post blocks.
|
849 |
|
|
Call check_forall_dependencies to check for all dependencies
|
850 |
|
|
and either trigger second forall block to copy temporary or
|
851 |
|
|
copy lval, outside the forall construct and replace all
|
852 |
|
|
dependent references. After assignment clean-up and coalesce
|
853 |
|
|
the blocks at the end of the function.
|
854 |
|
|
* gfortran.h : Add prototypes for gfc_traverse_expr and
|
855 |
|
|
find_forall_index.
|
856 |
|
|
expr.c (gfc_traverse_expr): New function to traverse expression
|
857 |
|
|
and visit all subexpressions, under control of a logical flag,
|
858 |
|
|
a symbol and an integer pointer. The slave function is caller
|
859 |
|
|
defined and is only called on EXPR_VARIABLE.
|
860 |
|
|
(expr_set_symbols_referenced): Called by above to set symbols
|
861 |
|
|
referenced.
|
862 |
|
|
(gfc_expr_set_symbols_referenced): Rework of this function to
|
863 |
|
|
use two new functions above.
|
864 |
|
|
* resolve.c (find_forall_index): Rework with gfc_traverse_expr,
|
865 |
|
|
using forall_index.
|
866 |
|
|
(forall_index): New function used by previous.
|
867 |
|
|
* dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
|
868 |
|
|
all references, not just REF_ARRAY.
|
869 |
|
|
(gfc_dep_resolver): Correct the logic for substrings so that
|
870 |
|
|
overlapping arrays are handled correctly.
|
871 |
|
|
|
872 |
|
|
2007-10-28 Tobias Schlüter
|
873 |
|
|
|
874 |
|
|
PR fortran/32147
|
875 |
|
|
* module.c (write_symbol): Fix whitespace.
|
876 |
|
|
(write_symbol0): Walk symtree from left-to-right instead
|
877 |
|
|
breadth-first.
|
878 |
|
|
(write_symbol1): Similarly change walk of pointer info tree.
|
879 |
|
|
(write_module): Insert linebreak.
|
880 |
|
|
* symbol.c (gfc_traverse_symtree): Change to left-to-right order.
|
881 |
|
|
(traverse_ns): Likewise.
|
882 |
|
|
|
883 |
|
|
2007-10-27 Jerry DeLisle
|
884 |
|
|
|
885 |
|
|
PR fortran/31306
|
886 |
|
|
* decl.c (char_len_param_value): Add check for conflicting attributes of
|
887 |
|
|
function argument.
|
888 |
|
|
|
889 |
|
|
2007-10-27 Tobias Burnus
|
890 |
|
|
|
891 |
|
|
PR fortran/33862
|
892 |
|
|
* lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
|
893 |
|
|
* options.c (form_from_filename): Support .ftn extension.
|
894 |
|
|
* gfortran.texi: Document support of .for and .ftn file extension.
|
895 |
|
|
|
896 |
|
|
2007-10-26 Jerry DeLisle
|
897 |
|
|
|
898 |
|
|
PR fortran/33162
|
899 |
|
|
* intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
|
900 |
|
|
gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
|
901 |
|
|
* intrinsic.c (add_functions): Add double precision checks for dabs,
|
902 |
|
|
dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
|
903 |
|
|
dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
|
904 |
|
|
dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
|
905 |
|
|
Add real check dprod.
|
906 |
|
|
* check.c (gfc_check_datan2): New function to check for double precision
|
907 |
|
|
argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
|
908 |
|
|
|
909 |
|
|
2007-10-26 Jerry DeLisle
|
910 |
|
|
|
911 |
|
|
* invoke.texi: Fix typo in -fmax-errors=.
|
912 |
|
|
|
913 |
|
|
2007-10-26 Francois-Xavier Coudert
|
914 |
|
|
|
915 |
|
|
PR fortran/29784
|
916 |
|
|
* gfortran.texi: Document that there is no logical/integer
|
917 |
|
|
conversion performed during I/O operations.
|
918 |
|
|
|
919 |
|
|
2007-10-22 Jerry DeLisle
|
920 |
|
|
|
921 |
|
|
PR fortran/33849
|
922 |
|
|
* resolve.c (resolve_actual_arglist): Fix error message text.
|
923 |
|
|
|
924 |
|
|
2007-10-22 Steven G. Kargl
|
925 |
|
|
|
926 |
|
|
PR fortran/31244
|
927 |
|
|
* gfortran.h (gfc_data_value): Change repeat from unsigned int
|
928 |
|
|
to mpz_t.
|
929 |
|
|
* decl.c(top_val_list): Remove msg variable. Use mpz_t for
|
930 |
|
|
repeat count.
|
931 |
|
|
* resolve.c (values): Change left from unsigned int to mpz_t.
|
932 |
|
|
(next_data_value): Change for mpz_t.
|
933 |
|
|
(check_data_variable): Change ??? to FIXME in a comment. Use
|
934 |
|
|
"mpz_t left".
|
935 |
|
|
(resolve_data ): Use "mpz_t left".
|
936 |
|
|
|
937 |
|
|
2007-10-21 Paul Thomas
|
938 |
|
|
|
939 |
|
|
PR fortran/33749
|
940 |
|
|
* resolve.c (resolve_ordinary_assign): New function that takes
|
941 |
|
|
the code to resolve an assignment from resolve_code. In
|
942 |
|
|
addition, it makes a temporary of any vector index, on the
|
943 |
|
|
lhs, using gfc_get_parentheses.
|
944 |
|
|
(resolve_code): On EXEC_ASSIGN call the new function.
|
945 |
|
|
|
946 |
|
|
2007-10-20 Tobias Burnus
|
947 |
|
|
|
948 |
|
|
PR fortran/33818
|
949 |
|
|
* resolve.c (resolve_variable): Check that symbol is in the same
|
950 |
|
|
namespace as the entry function.
|
951 |
|
|
|
952 |
|
|
2007-10-20 Paul Thomas
|
953 |
|
|
FX Coudert
|
954 |
|
|
|
955 |
|
|
PR fortran/31608
|
956 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): For all except
|
957 |
|
|
indirect references, use gfc_trans_scalar_assign instead of
|
958 |
|
|
gfc_add_modify_expr.
|
959 |
|
|
* iresolve.c (check_charlen_present): Separate creation of cl
|
960 |
|
|
if necessary and add code to treat an EXPR_ARRAY.
|
961 |
|
|
(gfc_resolve_char_achar): New function.
|
962 |
|
|
(gfc_resolve_achar, gfc_resolve_char): Call it.
|
963 |
|
|
(gfc_resolve_transfer): If the MOLD expression does not have a
|
964 |
|
|
character length expression, get it from a constant length.
|
965 |
|
|
|
966 |
|
|
2007-10-19 Jerry DeLisle
|
967 |
|
|
|
968 |
|
|
PR fortran/33544
|
969 |
|
|
* simplify.c (gfc_simplify_transfer): Only warn for short transfer when
|
970 |
|
|
-Wsurprising is given.
|
971 |
|
|
* invoke.texi: Document revised behavior.
|
972 |
|
|
|
973 |
|
|
2007-10-18 Jerry DeLisle
|
974 |
|
|
|
975 |
|
|
PR fortran/33795
|
976 |
|
|
* gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED
|
977 |
|
|
environment variable. Delete mention of environment variable
|
978 |
|
|
GFORTRAN_UNBUFFERED_n.
|
979 |
|
|
|
980 |
|
|
2007-10-18 Paul Thomas
|
981 |
|
|
|
982 |
|
|
PR fortran/33233
|
983 |
|
|
* resolve.c (check_host_association): Check singly contained
|
984 |
|
|
namespaces and start search for symbol in current namespace.
|
985 |
|
|
|
986 |
|
|
2007-10-18 Paul Thomas
|
987 |
|
|
Dominique d'Humières
|
988 |
|
|
|
989 |
|
|
PR fortran/33733
|
990 |
|
|
* simplify.c (gfc_simplify_transfer): Return null if the source
|
991 |
|
|
expression is EXPR_FUNCTION.
|
992 |
|
|
|
993 |
|
|
2007-10-17 Christopher D. Rickett
|
994 |
|
|
|
995 |
|
|
PR fortran/33760
|
996 |
|
|
* symbol.c (gen_special_c_interop_ptr): Remove code to create
|
997 |
|
|
constructor for c_null_ptr and c_null_funptr with value of 0.
|
998 |
|
|
* expr.c (check_init_expr): Prevent check on constructors for
|
999 |
|
|
iso_c_binding derived types.
|
1000 |
|
|
* resolve.c (resolve_structure_cons): Verify that the user isn't
|
1001 |
|
|
trying to invoke a structure constructor for one of the
|
1002 |
|
|
iso_c_binding derived types.
|
1003 |
|
|
|
1004 |
|
|
2007-10-15 Christopher D. Rickett
|
1005 |
|
|
|
1006 |
|
|
PR fortran/32600
|
1007 |
|
|
* trans-expr.c (gfc_conv_function_call): Generate code to inline
|
1008 |
|
|
c_associated.
|
1009 |
|
|
* symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id
|
1010 |
|
|
attributes in the resolved symbol.
|
1011 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Remove dead code.
|
1012 |
|
|
|
1013 |
|
|
2007-10-15 Jerry DeLisle
|
1014 |
|
|
|
1015 |
|
|
PR fortran/33055
|
1016 |
|
|
* trans-io.c (create_dummy_iostat): New function to create a unique
|
1017 |
|
|
dummy variable expression to use with IOSTAT.
|
1018 |
|
|
(gfc_trans_inquire): Use the new function to pass unit number error info
|
1019 |
|
|
to run-time library if a regular IOSTAT variable was not given.
|
1020 |
|
|
|
1021 |
|
|
2007-10-14 Tobias Burnus
|
1022 |
|
|
|
1023 |
|
|
PR fortran/33745
|
1024 |
|
|
* trans-array.c (gfc_conv_ss_startstride): Fix dimension check.
|
1025 |
|
|
(gfc_trans_array_bound_check, gfc_conv_array_ref,
|
1026 |
|
|
gfc_conv_ss_startstride): Simplify error message.
|
1027 |
|
|
* resolve.c (check_dimension): Fix dimension-type switch;
|
1028 |
|
|
improve error message.
|
1029 |
|
|
|
1030 |
|
|
2007-10-13 Tobias Schlüter
|
1031 |
|
|
Paul Thomas
|
1032 |
|
|
|
1033 |
|
|
PR fortran/33254
|
1034 |
|
|
PR fortran/33727
|
1035 |
|
|
* trans-array.c (get_array_ctor_var_strlen): Check upper bound for
|
1036 |
|
|
constness instead of lower bound.
|
1037 |
|
|
(get_array_ctor_strlen): Add bounds-checking code.
|
1038 |
|
|
|
1039 |
|
|
2007-10-12 Paul Thomas
|
1040 |
|
|
|
1041 |
|
|
PR fortran/33542
|
1042 |
|
|
* resolve.c (resolve_actual_arglist): If the actual argument is
|
1043 |
|
|
ambiguous, then there is an error.
|
1044 |
|
|
|
1045 |
|
|
2007-10-12 Paul Thomas
|
1046 |
|
|
|
1047 |
|
|
PR fortran/33664
|
1048 |
|
|
* expr.c (gfc_specification_expr): If a function is not
|
1049 |
|
|
external, intrinsic or pure is an error. Set the symbol pure
|
1050 |
|
|
to prevent repeat errors.
|
1051 |
|
|
|
1052 |
|
|
2007-10-10 Francois-Xavier Coudert
|
1053 |
|
|
|
1054 |
|
|
PR fortran/33636
|
1055 |
|
|
* expr.c (find_array_section): Check for constructor constantness.
|
1056 |
|
|
|
1057 |
|
|
2007-10-08 Tobias Schlüter
|
1058 |
|
|
|
1059 |
|
|
PR fortran/33689
|
1060 |
|
|
* resolve.c (gfc_resolve_expr): Fix indentation.
|
1061 |
|
|
(resolve_fl_variable_derived): Rename argument.
|
1062 |
|
|
(resolve_fl_variable): Fix case in message. Clarify logic.
|
1063 |
|
|
Correctly simplify array bounds.
|
1064 |
|
|
|
1065 |
|
|
2007-10-07 Thomas Koenig
|
1066 |
|
|
|
1067 |
|
|
PR libfortran/33683
|
1068 |
|
|
* mathbuiltins.def (GAMMA): Change function name to
|
1069 |
|
|
"tgamma" instad of "gamma".
|
1070 |
|
|
|
1071 |
|
|
2007-10-07 Tobias Schlüter
|
1072 |
|
|
|
1073 |
|
|
PR fortran/20851
|
1074 |
|
|
* expr.c (check_inquiry): Typo fix in error message.
|
1075 |
|
|
(check_init_expr): Same * 3.
|
1076 |
|
|
(check_restricted): Verify that no dummy arguments appear in
|
1077 |
|
|
restricted expressions in ELEMENTAL procedures.
|
1078 |
|
|
* resolve.c (resolve_fl_variable): Exchange order of checks to
|
1079 |
|
|
avoid side-effect.
|
1080 |
|
|
|
1081 |
|
|
2007-10-06 Jerry DeLisle
|
1082 |
|
|
|
1083 |
|
|
PR fortran/33609
|
1084 |
|
|
* simplify.c (range_check): Return gfc_bad_expr if incoming expression
|
1085 |
|
|
is NULL.
|
1086 |
|
|
|
1087 |
|
|
2007-10-06 Tobias Schlüter
|
1088 |
|
|
|
1089 |
|
|
* simplify.c (gfc_simplify_size): Fix typo.
|
1090 |
|
|
|
1091 |
|
|
2007-10-06 Tobias Schlüter
|
1092 |
|
|
|
1093 |
|
|
PR fortran/25076
|
1094 |
|
|
* resolve.c (gfc_find_forall_index): Move towards top,
|
1095 |
|
|
renaming to ...
|
1096 |
|
|
(find_forall_index): ... this. Add check for NULL expr.
|
1097 |
|
|
(resolve_forall_iterators): Verify additional constraint.
|
1098 |
|
|
(resolve_forall): Remove checks obsoleted by new code in
|
1099 |
|
|
resolve_forall_iterators.
|
1100 |
|
|
|
1101 |
|
|
2007-10-05 Francois-Xavier Coudert
|
1102 |
|
|
|
1103 |
|
|
* gfortran.h (gfc_get_data_variable, gfc_get_data_value,
|
1104 |
|
|
gfc_get_data): Move to decl.c.
|
1105 |
|
|
(global_used): Rename into gfc_global_used.
|
1106 |
|
|
(gfc_formalize_init_value, gfc_get_section_index,
|
1107 |
|
|
gfc_assign_data_value, gfc_assign_data_value_range,
|
1108 |
|
|
gfc_advance_section): Move to data.h.
|
1109 |
|
|
(gfc_set_in_match_data): Remove.
|
1110 |
|
|
* decl.c (gfc_get_data_variable, gfc_get_data_value,
|
1111 |
|
|
gfc_get_data): Move here.
|
1112 |
|
|
(gfc_set_in_match_data): Rename into set_in_match_data.
|
1113 |
|
|
(gfc_match_data): Likewise.
|
1114 |
|
|
(add_global_entry): Rename global_used into gfc_global_used.
|
1115 |
|
|
* data.c: Include data.h.
|
1116 |
|
|
* trans.h (gfc_todo_error): Remove.
|
1117 |
|
|
* trans-array.c (gfc_trans_array_constructor,
|
1118 |
|
|
gfc_conv_ss_startstride, gfc_conv_loop_setup): Change
|
1119 |
|
|
gfc_todo_error into assertions.
|
1120 |
|
|
* resolve.c (resolve_global_procedure): Rename global_used into
|
1121 |
|
|
gfc_global_used.
|
1122 |
|
|
* parse.c (gfc_global_used, parse_module, add_global_procedure,
|
1123 |
|
|
add_global_program): Likewise.
|
1124 |
|
|
* trans-intrinsic.c (gfc_walk_intrinsic_function): Rename
|
1125 |
|
|
global_used into gfc_global_used.
|
1126 |
|
|
* Make-lang.in: Add dependencies on fortran/data.h.
|
1127 |
|
|
* data.h: New file.
|
1128 |
|
|
|
1129 |
|
|
2007-10-04 Francois-Xavier Coudert
|
1130 |
|
|
|
1131 |
|
|
PR fortran/33529
|
1132 |
|
|
* decl.c (match_char_kind): New function.
|
1133 |
|
|
(match_char_spec): Use match_char_kind.
|
1134 |
|
|
|
1135 |
|
|
2007-10-04 Francois-Xavier Coudert
|
1136 |
|
|
|
1137 |
|
|
PR fortran/33502
|
1138 |
|
|
* scanner.c (gfc_advance_line): Call debug_hooks->end_source_file
|
1139 |
|
|
and debug_hooks->start_source_file when appropriate, and set
|
1140 |
|
|
dbg_emitted.
|
1141 |
|
|
(gfc_define_undef_line): New function.
|
1142 |
|
|
(load_file): Don't error out on #define and #undef lines.
|
1143 |
|
|
* parse.c (next_statement): Call gfc_define_undef_line.
|
1144 |
|
|
(gfc_parse_file): Call debug_hooks->start_source_file and
|
1145 |
|
|
debug_hooks->end_source_file for the main source file if
|
1146 |
|
|
required.
|
1147 |
|
|
* gfortran.h (gfc_linebuf): Add dbg_emitted field.
|
1148 |
|
|
(gfc_define_undef_line): New prototype.
|
1149 |
|
|
|
1150 |
|
|
2007-10-04 Tobias Schlüter
|
1151 |
|
|
|
1152 |
|
|
PR fortran/33626
|
1153 |
|
|
* resolve.c (resolve_operator): Always copy the type for
|
1154 |
|
|
expressions in parentheses.
|
1155 |
|
|
|
1156 |
|
|
2007-10-04 Paul Thomas
|
1157 |
|
|
|
1158 |
|
|
PR fortran/33646
|
1159 |
|
|
PR fortran/33542
|
1160 |
|
|
* interface.c (check_interface1): Revert patch of 10-02.
|
1161 |
|
|
|
1162 |
|
|
2007-10-03 Francois-Xavier Coudert
|
1163 |
|
|
|
1164 |
|
|
PR fortran/26682
|
1165 |
|
|
* trans-decl.c (build_function_decl): Set "externally_visible"
|
1166 |
|
|
attribute on the MAIN program decl.
|
1167 |
|
|
|
1168 |
|
|
2007-10-03 Tobias Schlüter
|
1169 |
|
|
|
1170 |
|
|
PR fortran/33198
|
1171 |
|
|
* resolve.c (has_default_initializer): Move to top. Make bool.
|
1172 |
|
|
(resolve_common_blocks): Simplify logic. Add case for derived
|
1173 |
|
|
type initialization.
|
1174 |
|
|
(resolve_fl_variable_derived): Split out from ...
|
1175 |
|
|
(resolve_fl_variable): ... here, while adapting to new h_d_i
|
1176 |
|
|
interface.
|
1177 |
|
|
|
1178 |
|
|
2007-10-03 Francois-Xavier Coudert
|
1179 |
|
|
|
1180 |
|
|
PR fortran/26682
|
1181 |
|
|
* options.c (gfc_post_options): Issue an error when
|
1182 |
|
|
-fwhole-program is used.
|
1183 |
|
|
|
1184 |
|
|
2007-10-02 Paul Thomas
|
1185 |
|
|
|
1186 |
|
|
PR fortran/33542
|
1187 |
|
|
* interface.c (check_interface1): Specific procedures are
|
1188 |
|
|
always ambiguous if they have the same name.
|
1189 |
|
|
|
1190 |
|
|
2007-10-02 Paul Thomas
|
1191 |
|
|
|
1192 |
|
|
PR fortran/33566
|
1193 |
|
|
* primary.c (gfc_match_rvalue): Make all expressions with array
|
1194 |
|
|
references to structure parameters into variable expressions.
|
1195 |
|
|
|
1196 |
|
|
2007-10-02 Paul Thomas
|
1197 |
|
|
|
1198 |
|
|
PR fortran/33554
|
1199 |
|
|
* trans-decl.c (init_intent_out_dt): New function.
|
1200 |
|
|
(gfc_trans_deferred_vars): Remove the code for default
|
1201 |
|
|
initialization of INTENT(OUT) derived types and put it
|
1202 |
|
|
in the new function. Call it earlier than before, so
|
1203 |
|
|
that array offsets and lower bounds are available.
|
1204 |
|
|
|
1205 |
|
|
2007-10-02 Paul Thomas
|
1206 |
|
|
|
1207 |
|
|
PR fortran/33550
|
1208 |
|
|
* decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
|
1209 |
|
|
the name is a reference to an ambiguous symbol.
|
1210 |
|
|
|
1211 |
|
|
2007-10-02 Paul Thomas
|
1212 |
|
|
|
1213 |
|
|
PR fortran/31154
|
1214 |
|
|
PR fortran/31229
|
1215 |
|
|
PR fortran/33334
|
1216 |
|
|
* decl.c : Declare gfc_function_kind_locs and
|
1217 |
|
|
gfc_function_type_locus.
|
1218 |
|
|
(gfc_match_kind_spec): Add second argument kind_expr_only.
|
1219 |
|
|
Store locus before trying to match the expression. If the
|
1220 |
|
|
current state corresponds to a function declaration and there
|
1221 |
|
|
is no match to the expression, read to the parenthesis, return
|
1222 |
|
|
kind = -1, dump the expression and return.
|
1223 |
|
|
(gfc_match_type_spec): Renamed from match_type_spec and all
|
1224 |
|
|
references changed. If an interface or an external function,
|
1225 |
|
|
store the locus, set kind = -1 and return. Otherwise, if kind
|
1226 |
|
|
is already = -1, use gfc_find_symbol to try to find a use
|
1227 |
|
|
associated or imported type.
|
1228 |
|
|
match.h : Prototype for gfc_match_type_spec.
|
1229 |
|
|
* parse.c (match_deferred_characteristics): New function.
|
1230 |
|
|
(parse_spec): If in a function, statement is USE or IMPORT
|
1231 |
|
|
or DERIVED_DECL and the function kind=-1, call
|
1232 |
|
|
match_deferred_characteristics. If kind=-1 at the end of the
|
1233 |
|
|
specification expressions, this is an error.
|
1234 |
|
|
* parse.h : Declare external gfc_function_kind_locs and
|
1235 |
|
|
gfc_function_type_locus.
|
1236 |
|
|
|
1237 |
|
|
2007-09-27 Kaveh R. Ghazi
|
1238 |
|
|
|
1239 |
|
|
* module.c (mio_expr): Avoid -Wcast-qual warning.
|
1240 |
|
|
|
1241 |
|
|
2007-09-27 Tobias Schlüter
|
1242 |
|
|
|
1243 |
|
|
* arith.c (reduce_binary_aa): Fix capitalization.
|
1244 |
|
|
* check.c (gfc_check_dot_product): Likewise.
|
1245 |
|
|
(gfc_check_matmul): Likewise.
|
1246 |
|
|
* expr.c (gfc_check_conformance): Likewise.
|
1247 |
|
|
(gfc_check_assign): Likewise.
|
1248 |
|
|
(gfc_default_initializer): Simplify logic.
|
1249 |
|
|
* trans.c (gfc_msg_bounds): Make const.
|
1250 |
|
|
(gfc_msg_fault): Likewise.
|
1251 |
|
|
(gfc_msg_wrong_return): Likewise.
|
1252 |
|
|
* trans.h: Add const to corresponding extern declarations.
|
1253 |
|
|
|
1254 |
|
|
2007-09-27 Paul Thomas
|
1255 |
|
|
|
1256 |
|
|
PR fortran/33568
|
1257 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the
|
1258 |
|
|
possibility of the optional KIND argument by making arg
|
1259 |
|
|
an array, counting the number of arguments and using arg[0].
|
1260 |
|
|
|
1261 |
|
|
2007-09-26 Francois-Xavier Coudert
|
1262 |
|
|
|
1263 |
|
|
PR fortran/30780
|
1264 |
|
|
* invoke.texi: Add note to -ffpe-trap option. Fix typos.
|
1265 |
|
|
|
1266 |
|
|
2007-09-23 Tobias Schlüter
|
1267 |
|
|
|
1268 |
|
|
PR fortran/33269
|
1269 |
|
|
* io.c (check_format_string): Move NULL and constant checks into
|
1270 |
|
|
this function.
|
1271 |
|
|
(check_io_constraints): Call gfc_simplify_expr() before calling
|
1272 |
|
|
check_format_string(). Remove NULL and constant checks.
|
1273 |
|
|
|
1274 |
|
|
2007-09-24 Francois-Xavier Coudert
|
1275 |
|
|
|
1276 |
|
|
PR fortran/33538
|
1277 |
|
|
* scanner.c, parse.c, gfortran.h: Revert revision 128671.
|
1278 |
|
|
|
1279 |
|
|
2007-09-23 Francois-Xavier Coudert
|
1280 |
|
|
|
1281 |
|
|
PR fortran/33528
|
1282 |
|
|
* scanner.c (preprocessor_line): Call linemap_add when exiting
|
1283 |
|
|
a file.
|
1284 |
|
|
(gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.
|
1285 |
|
|
|
1286 |
|
|
2007-09-22 Francois-Xavier Coudert
|
1287 |
|
|
|
1288 |
|
|
PR fortran/33522
|
1289 |
|
|
* trans-types.c (gfc_get_desc_dim_type): Mark artificial
|
1290 |
|
|
variables with TREE_NO_WARNING.
|
1291 |
|
|
(gfc_get_array_descriptor_base): Likewise.
|
1292 |
|
|
|
1293 |
|
|
2007-09-22 Paul Thomas
|
1294 |
|
|
|
1295 |
|
|
PR fortran/33337
|
1296 |
|
|
PR fortran/33376
|
1297 |
|
|
* trans-decl.c (gfc_create_module_variable): Output
|
1298 |
|
|
derived type parameters.
|
1299 |
|
|
* arith.c (gfc_parentheses): Return the argument if
|
1300 |
|
|
it is a constant expression.
|
1301 |
|
|
* primary.c (gfc_match_rvalue): Remove the clearing of
|
1302 |
|
|
the module name and the use_assoc attribute for derived
|
1303 |
|
|
type parameter expressions.
|
1304 |
|
|
|
1305 |
|
|
2007-09-22 Francois-Xavier Coudert
|
1306 |
|
|
|
1307 |
|
|
PR fortran/33502
|
1308 |
|
|
* scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
|
1309 |
|
|
and debug_hooks->end_source_file when entering and exiting
|
1310 |
|
|
included files.
|
1311 |
|
|
(gfc_define_undef_line): New function.
|
1312 |
|
|
(load_file): Ignore #define and #undef preprocessor lines
|
1313 |
|
|
while reading source files.
|
1314 |
|
|
* parse.c (next_statement): Handle #define and #undef
|
1315 |
|
|
preprocessor lines.
|
1316 |
|
|
(gfc_parse_file): Call debug_hooks->start_source_file and
|
1317 |
|
|
debug_hooks->end_source_file for the main source file if
|
1318 |
|
|
requested by the debug format.
|
1319 |
|
|
* gfortran.h (gfc_define_undef_line): Add prototype.
|
1320 |
|
|
|
1321 |
|
|
2007-09-22 Tobias Burnus
|
1322 |
|
|
|
1323 |
|
|
PR fortran/33445
|
1324 |
|
|
* scanner.c (skip_free_comments): Warn if !$OMP& is used
|
1325 |
|
|
if no OpenMP directive is to be continued.
|
1326 |
|
|
|
1327 |
|
|
2007-09-21 Paul Thomas
|
1328 |
|
|
|
1329 |
|
|
*trans-expr.c (gfc_trans_pointer_assignment): Convert array
|
1330 |
|
|
descriptor for subref pointer assignements, rather than using
|
1331 |
|
|
the loop info version.
|
1332 |
|
|
|
1333 |
|
|
2007-09-21 Tobias Burnus
|
1334 |
|
|
|
1335 |
|
|
PR fortran/33037
|
1336 |
|
|
* simplify.c (gfc_simplify_transfer): Warn if source size
|
1337 |
|
|
is smaller than result size.
|
1338 |
|
|
|
1339 |
|
|
2007-09-20 Asher Langton
|
1340 |
|
|
|
1341 |
|
|
PR fortran/20441
|
1342 |
|
|
* gfortran.h : Add init_local_* enums and init_flag_* flags to
|
1343 |
|
|
gfc_option_t.
|
1344 |
|
|
* lang.opt: Add -finit-local-zero, -finit-real, -finit-integer,
|
1345 |
|
|
-finit-character, and -finit-logical flags.
|
1346 |
|
|
* invoke.texi: Document new options.
|
1347 |
|
|
* resolve.c (build_init_assign): New function.
|
1348 |
|
|
(apply_init_assign): Move part of function into build_init_assign.
|
1349 |
|
|
(build_default_init_expr): Build local initializer (-finit-*).
|
1350 |
|
|
(apply_default_init_local): Apply local initializer (-finit-*).
|
1351 |
|
|
(resolve_fl_variable): Try to add local initializer (-finit-*).
|
1352 |
|
|
* options.c (gfc_init_options, gfc_handle_option,
|
1353 |
|
|
gfc_post_options): Handle -finit-local-zero, -finit-real,
|
1354 |
|
|
-finit-integer, -finit-character, and -finit-logical flags.
|
1355 |
|
|
|
1356 |
|
|
2007-09-20 Francois-Xavier Coudert
|
1357 |
|
|
|
1358 |
|
|
PR fortran/33221
|
1359 |
|
|
* gfortran.h (symbol_attribute): Add zero_comp field.
|
1360 |
|
|
* symbol.c (gfc_use_derived): Handle case of emtpy derived types.
|
1361 |
|
|
* decl.c (gfc_match_data_decl): Likewise.
|
1362 |
|
|
(gfc_match_derived_decl): Likewise.
|
1363 |
|
|
* module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
|
1364 |
|
|
(mio_symbol_attribute): Write and read AB_ZERO_COMP.
|
1365 |
|
|
* resolve.c (resolve_symbol): Handle case of emtpy derived types.
|
1366 |
|
|
* parse.c (parse_derived): Likewise.
|
1367 |
|
|
|
1368 |
|
|
2007-09-20 Francois-Xavier Coudert
|
1369 |
|
|
|
1370 |
|
|
PR fortran/33288
|
1371 |
|
|
* arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
|
1372 |
|
|
reduce_binary_aa): Call ourselves recursively if an element of
|
1373 |
|
|
the constructor is itself a constant array.
|
1374 |
|
|
|
1375 |
|
|
2007-09-20 Tobias Schlüter
|
1376 |
|
|
|
1377 |
|
|
* io.c (resolve_tag_format): New function using code split out
|
1378 |
|
|
and simplified from ...
|
1379 |
|
|
(resolve_tag): ... this function. Simplify logic. Unify
|
1380 |
|
|
IOSTAT, IOLENGTH and SIZE handling.
|
1381 |
|
|
|
1382 |
|
|
2007-09-20 Christopher D. Rickett
|
1383 |
|
|
|
1384 |
|
|
PR fortran/33497
|
1385 |
|
|
* resolve.c (gfc_iso_c_func_interface): Use information from
|
1386 |
|
|
subcomponent if applicable.
|
1387 |
|
|
|
1388 |
|
|
2007-09-20 Tobias Burnus
|
1389 |
|
|
|
1390 |
|
|
PR fortran/33325
|
1391 |
|
|
* intrinsic.text: Add documentation of the intrinsic modules.
|
1392 |
|
|
* gfortran.texi: Link to intrinsic-modules section and to
|
1393 |
|
|
the GOMP manual.
|
1394 |
|
|
|
1395 |
|
|
2007-09-18 Francois-Xavier Coudert
|
1396 |
|
|
|
1397 |
|
|
PR fortran/31119
|
1398 |
|
|
* trans-array.c (gfc_conv_ss_startstride): Only perform bounds
|
1399 |
|
|
checking for optional args when they are present.
|
1400 |
|
|
|
1401 |
|
|
2007-09-18 Tobias Burnus
|
1402 |
|
|
|
1403 |
|
|
PR fortran/33231
|
1404 |
|
|
* resolve.c (resolve_elemental_actual): Check for conformance
|
1405 |
|
|
of intent out/inout dummies.
|
1406 |
|
|
|
1407 |
|
|
2007-09-17 Tobias Burnus
|
1408 |
|
|
|
1409 |
|
|
PR fortran/33106
|
1410 |
|
|
* resolve.c (resolve_symbol): Reject public variable of
|
1411 |
|
|
private derived-types for Fortran 95.
|
1412 |
|
|
|
1413 |
|
|
2007-09-17 Tobias Burnus
|
1414 |
|
|
|
1415 |
|
|
* resolve.c (resolve_fl_procedure): Allow private dummies
|
1416 |
|
|
for Fortran 2003.
|
1417 |
|
|
|
1418 |
|
|
2007-09-17 Francois-Xavier Coudert
|
1419 |
|
|
|
1420 |
|
|
* trans-types.c (gfc_get_desc_dim_type): Do not to try
|
1421 |
|
|
emit debug info.
|
1422 |
|
|
(gfc_get_array_descriptor_base): Likewise.
|
1423 |
|
|
(gfc_get_mixed_entry_union): Likewise
|
1424 |
|
|
(gfc_get_derived_type): Set decl location for fields and
|
1425 |
|
|
derived type itself.
|
1426 |
|
|
|
1427 |
|
|
2007-09-16 Paul Thomas
|
1428 |
|
|
|
1429 |
|
|
PR fortran/29396
|
1430 |
|
|
PR fortran/29606
|
1431 |
|
|
PR fortran/30625
|
1432 |
|
|
PR fortran/30871
|
1433 |
|
|
* trans.h : Add extra argument to gfc_build_array_ref. Rename
|
1434 |
|
|
gfc_conv_aliased_arg to gfc_conv_subref_array_arg. Move
|
1435 |
|
|
prototype of is_aliased_array to gfortran.h and rename it
|
1436 |
|
|
gfc_is_subref_array. Add field span to lang_decl, add a new
|
1437 |
|
|
decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
|
1438 |
|
|
and a new type flag GFC_DECL_SUBREF_ARRAY_P.
|
1439 |
|
|
* trans.c (gfc_build_array_ref): Add the new argument, decl.
|
1440 |
|
|
If this is a subreference array pointer, use the lang_decl
|
1441 |
|
|
field 'span' to calculate the offset in bytes and use pointer
|
1442 |
|
|
arithmetic to address the element.
|
1443 |
|
|
* trans-array.c (gfc_conv_scalarized_array_ref,
|
1444 |
|
|
gfc_conv_array_ref): Add the backend declaration as the third
|
1445 |
|
|
field, if it is likely to be a subreference array pointer.
|
1446 |
|
|
(gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
|
1447 |
|
|
gfc_trans_array_constructor_element, structure_alloc_comps,
|
1448 |
|
|
gfc_conv_array_index_offset): For all other references to
|
1449 |
|
|
gfc_build_array_ref, set the third argument to NULL.
|
1450 |
|
|
(gfc_get_dataptr_offset): New function.
|
1451 |
|
|
(gfc_conv_expr_descriptor): If the rhs of a pointer assignment
|
1452 |
|
|
is a subreference array, then calculate the offset to the
|
1453 |
|
|
subreference of the first element and set the descriptor data
|
1454 |
|
|
pointer to this, using gfc_get_dataptr_offset.
|
1455 |
|
|
trans-expr.c (gfc_get_expr_charlen): Use the expression for the
|
1456 |
|
|
character length for a character subreference.
|
1457 |
|
|
(gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
|
1458 |
|
|
third argument in call to gfc_build_array_ref.
|
1459 |
|
|
(gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
|
1460 |
|
|
(is_aliased_array): Remove.
|
1461 |
|
|
(gfc_conv_function_call): Change reference to is_aliased_array
|
1462 |
|
|
to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
|
1463 |
|
|
gfc_conv_subref_array_arg.
|
1464 |
|
|
(gfc_trans_pointer_assignment): Add the array element length to
|
1465 |
|
|
the lang_decl 'span' field.
|
1466 |
|
|
* gfortran.h : Add subref_array_pointer to symbol_attribute and
|
1467 |
|
|
add the prototype for gfc_is_subref_array.
|
1468 |
|
|
* trans-stmt.c : Add NULL for third argument in all references
|
1469 |
|
|
to gfc_build_array_ref.
|
1470 |
|
|
* expr.c (gfc_is_subref_array): Renamed is_aliased_array.
|
1471 |
|
|
If this is a subreference array pointer, return true.
|
1472 |
|
|
(gfc_check_pointer_assign): If the rhs is a subreference array,
|
1473 |
|
|
set the lhs subreference_array_pointer attribute.
|
1474 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
|
1475 |
|
|
field if the symbol is a subreference array pointer and set an
|
1476 |
|
|
initial value of zero for the 'span' field.
|
1477 |
|
|
* trans-io.c (set_internal_unit): Refer to is_subref_array and
|
1478 |
|
|
gfc_conv_subref_array_arg.
|
1479 |
|
|
(nml_get_addr_expr): Add NULL third argument to
|
1480 |
|
|
gfc_build_array_ref.
|
1481 |
|
|
(gfc_trans_transfer): Use the scalarizer for a subreference
|
1482 |
|
|
array.
|
1483 |
|
|
|
1484 |
|
|
2007-09-13 Thomas Koenig
|
1485 |
|
|
|
1486 |
|
|
* iresolve.c (resolve_mask_arg): If a mask is an array
|
1487 |
|
|
expression, convert it to kind=1.
|
1488 |
|
|
|
1489 |
|
|
2007-09-13 Tobias Burnus
|
1490 |
|
|
|
1491 |
|
|
PR fortran/33343
|
1492 |
|
|
* expr.c (gfc_check_conformance): Print ranks in the error message.
|
1493 |
|
|
* resolve.c (resolve_elemental_actual): Check also conformance of
|
1494 |
|
|
the actual arguments for elemental functions.
|
1495 |
|
|
|
1496 |
|
|
2007-09-13 Tobias Burnus
|
1497 |
|
|
|
1498 |
|
|
* symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
|
1499 |
|
|
Allow prefixes only to be specified once.
|
1500 |
|
|
|
1501 |
|
|
2007-09-13 Tobias Burnus
|
1502 |
|
|
|
1503 |
|
|
PR fortran/33412
|
1504 |
|
|
* symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
|
1505 |
|
|
|
1506 |
|
|
2007-09-12 Tobias Burnus
|
1507 |
|
|
|
1508 |
|
|
PR fortran/33297
|
1509 |
|
|
* check.c (scalar_check): Move up in the file.
|
1510 |
|
|
(kind_check): Call scalar_check.
|
1511 |
|
|
(dim_check): If optional, do not call nonoptional_check; use
|
1512 |
|
|
bool for optional.
|
1513 |
|
|
(gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
|
1514 |
|
|
gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
|
1515 |
|
|
gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
|
1516 |
|
|
for dim_check; honor changed meaning of optional.
|
1517 |
|
|
(gfc_check_int): Replace checks by kind_check.
|
1518 |
|
|
(gfc_check_size): Replace checks by dim_check.
|
1519 |
|
|
|
1520 |
|
|
2007-09-12 Tobias Burnus
|
1521 |
|
|
|
1522 |
|
|
PR fortran/33284
|
1523 |
|
|
PR fortran/33310
|
1524 |
|
|
* symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
|
1525 |
|
|
and between BIND(C) and PARAMETER.
|
1526 |
|
|
|
1527 |
|
|
2007-09-12 Tobias Burnus
|
1528 |
|
|
|
1529 |
|
|
* trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
|
1530 |
|
|
|
1531 |
|
|
2007-09-12 Jan Hubicka
|
1532 |
|
|
|
1533 |
|
|
* f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
|
1534 |
|
|
|
1535 |
|
|
2007-09-12 Christopher D. Rickett
|
1536 |
|
|
|
1537 |
|
|
PR fortran/33395
|
1538 |
|
|
* trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
|
1539 |
|
|
intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
|
1540 |
|
|
and C_NULL_FUNPTR expressions.
|
1541 |
|
|
|
1542 |
|
|
2007-09-11 Christopher D. Rickett
|
1543 |
|
|
|
1544 |
|
|
PR fortran/33040
|
1545 |
|
|
* trans-expr.c (gfc_trans_structure_assign): Convert component
|
1546 |
|
|
C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
|
1547 |
|
|
* trans-types.c (gfc_get_derived_type): Create a backend_decl for
|
1548 |
|
|
the c_address field of C_PTR and C_FUNPTR and ensure initializer
|
1549 |
|
|
is of proper type/kind for (void *).
|
1550 |
|
|
|
1551 |
|
|
2007-09-11 Jan Hubicka
|
1552 |
|
|
|
1553 |
|
|
* f95-lang.c (gfc_expand_function): Kill.
|
1554 |
|
|
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
|
1555 |
|
|
|
1556 |
|
|
2007-09-08 Tobias Burnus
|
1557 |
|
|
|
1558 |
|
|
PR fortran/31547
|
1559 |
|
|
* gfortran.texi: Document when CPP is called.
|
1560 |
|
|
|
1561 |
|
|
* intrinsic.texi (IOR): Fix typos.
|
1562 |
|
|
|
1563 |
|
|
2007-09-10 Paul Thomas
|
1564 |
|
|
|
1565 |
|
|
PR fortran/33370
|
1566 |
|
|
* trans-expr.c (copyable_array_p): Add tests that expression
|
1567 |
|
|
is a variable, that it has no subreferences and that it is a
|
1568 |
|
|
full array.
|
1569 |
|
|
(gfc_trans_assignment): Change conditions to suit modifications
|
1570 |
|
|
to copyable_array_p.
|
1571 |
|
|
|
1572 |
|
|
2007-09-06 Tom Tromey
|
1573 |
|
|
|
1574 |
|
|
* scanner.c (get_file): Update.
|
1575 |
|
|
(load_file): Update.
|
1576 |
|
|
(gfc_next_char_literal): Use gfc_linebuf_linenum.
|
1577 |
|
|
* f95-lang.c (gfc_init): Update.
|
1578 |
|
|
* gfortran.h (gfc_linebuf_linenum): New macro.
|
1579 |
|
|
|
1580 |
|
|
2007-09-05 Sandra Loosemore
|
1581 |
|
|
|
1582 |
|
|
* trans-decl.c (build_entry_thunks): Use set_cfun.
|
1583 |
|
|
(gfc_generate_function_code): Likewise.
|
1584 |
|
|
|
1585 |
|
|
2007-09-05 Paul Thomas
|
1586 |
|
|
|
1587 |
|
|
PR fortran/31564
|
1588 |
|
|
* primary.c (gfc_match_rvalue): Make expressions that refer
|
1589 |
|
|
to derived type parameters that have array references into
|
1590 |
|
|
variable expressions. Remove references to use association
|
1591 |
|
|
from the symbol.
|
1592 |
|
|
|
1593 |
|
|
PR fortran/33241
|
1594 |
|
|
* decl.c (add_init_expr_to_sym): Provide assumed character
|
1595 |
|
|
length parameters with the length of the initialization
|
1596 |
|
|
expression, if a constant, or that of the first element of
|
1597 |
|
|
an array.
|
1598 |
|
|
|
1599 |
|
|
2007-09-04 Janus Weil
|
1600 |
|
|
Paul Thomas
|
1601 |
|
|
|
1602 |
|
|
* decl.c (match_procedure_decl,match_procedure_in_interface,
|
1603 |
|
|
gfc_match_procedure): Handle PROCEDURE statements.
|
1604 |
|
|
* gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
|
1605 |
|
|
(enum gfc_statement): New element "ST_PROCEDURE".
|
1606 |
|
|
(strcut symbol_attribute): New member "unsigned procedure".
|
1607 |
|
|
* interface.c (check_interface0): Extended error checking.
|
1608 |
|
|
* match.h: Add gfc_match_procedure prototype.
|
1609 |
|
|
* parse.c (decode_statement,next_statement,gfc_ascii_statement,
|
1610 |
|
|
parse_derived,parse_interface): Implement PROCEDURE statements.
|
1611 |
|
|
* resolve.c (resolve_symbol): Ditto.
|
1612 |
|
|
* symbol.c (check_conflict): Ditto.
|
1613 |
|
|
(gfc_add_proc): New function for setting the procedure attribute.
|
1614 |
|
|
(copy_formal_args): New function for copying formal argument lists.
|
1615 |
|
|
|
1616 |
|
|
2007-09-03 Daniel Jacobowitz
|
1617 |
|
|
|
1618 |
|
|
* Make-lang.in (gfortranspec.o): Remove SHLIB_MULTILIB.
|
1619 |
|
|
|
1620 |
|
|
2007-09-03 Kaveh R. Ghazi
|
1621 |
|
|
|
1622 |
|
|
* gfortranspec.c (lang_specific_driver): Use CONST_CAST2.
|
1623 |
|
|
* options.c (gfc_post_options): Supply a TYPE for CONST_CAST.
|
1624 |
|
|
* parse.c (parse_omp_structured_block): Likewise,
|
1625 |
|
|
* st.c (gfc_free_statement): Likewise,
|
1626 |
|
|
|
1627 |
|
|
2007-09-03 Francois-Xavier Coudert
|
1628 |
|
|
|
1629 |
|
|
PR fortran/31675
|
1630 |
|
|
* libgfortran.h: New file.
|
1631 |
|
|
* iso-fortran-env.def: Use macros in the new header instead of
|
1632 |
|
|
hardcoded integer constants.
|
1633 |
|
|
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
|
1634 |
|
|
fortran/libgfortran.h.
|
1635 |
|
|
* gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
|
1636 |
|
|
ioerror_codes): Remove.
|
1637 |
|
|
* trans.c (ERROR_ALLOCATION): Remove.
|
1638 |
|
|
(gfc_call_malloc, gfc_allocate_with_status,
|
1639 |
|
|
gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
|
1640 |
|
|
* trans-types.h (GFC_DTYPE_*): Remove.
|
1641 |
|
|
* trans-decl.c (gfc_generate_function_code): Use
|
1642 |
|
|
GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
|
1643 |
|
|
* trans-io.c (set_parameter_value, set_parameter_ref): Use
|
1644 |
|
|
LIBERROR_* macros instead of IOERROR_ macros.
|
1645 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use
|
1646 |
|
|
LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
|
1647 |
|
|
* options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
|
1648 |
|
|
CONVERT_NATIVE.
|
1649 |
|
|
(gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
|
1650 |
|
|
|
1651 |
|
|
2007-09-02 Steven G. Kargl
|
1652 |
|
|
|
1653 |
|
|
* invoke.texi: Fix the -frange-checking option entry.
|
1654 |
|
|
|
1655 |
|
|
2007-09-02 Roger Sayle
|
1656 |
|
|
|
1657 |
|
|
* decl.c (match_string_p): New helper function to explicitly match
|
1658 |
|
|
a string of characters.
|
1659 |
|
|
(match_attr_spec): Remove no longer needed DECL_COLON from decl_types.
|
1660 |
|
|
Delete decls array and peek_char. Rewrite decl attribute parser to
|
1661 |
|
|
avoid calling gfc_match_strings.
|
1662 |
|
|
* match.c (gfc_match_strings): Delete unused function.
|
1663 |
|
|
* match.h (gfc_match_strings): Delete prototype.
|
1664 |
|
|
|
1665 |
|
|
2007-09-02 Tobias Schlüter
|
1666 |
|
|
|
1667 |
|
|
* dump-parse-tree.c (show_char_const): New function.
|
1668 |
|
|
(gfc_show_expr): Use it.
|
1669 |
|
|
* expr.c (find_substring_ref): Rework to not keep characters
|
1670 |
|
|
dangling beyond end of string.
|
1671 |
|
|
|
1672 |
|
|
2007-09-02 H.J. Lu
|
1673 |
|
|
|
1674 |
|
|
PR fortran/33276
|
1675 |
|
|
* array.c (expand_iterator): Initialize frame.prev.
|
1676 |
|
|
|
1677 |
|
|
2007-08-31 Tobias Burnus
|
1678 |
|
|
|
1679 |
|
|
PR fortran/33232
|
1680 |
|
|
* io.c (match_io): Also diagnose extra comma for READ.
|
1681 |
|
|
|
1682 |
|
|
2007-08-31 Joseph Myers
|
1683 |
|
|
|
1684 |
|
|
* intrinsic.texi (LGAMMA): Remove empty @cindex line.
|
1685 |
|
|
|
1686 |
|
|
2007-08-31 Paul Thomas
|
1687 |
|
|
|
1688 |
|
|
PR fortran/31879
|
1689 |
|
|
PR fortran/31197
|
1690 |
|
|
PR fortran/31258
|
1691 |
|
|
PR fortran/32703
|
1692 |
|
|
* gfortran.h : Add prototype for gfc_resolve_substring_charlen.
|
1693 |
|
|
* resolve.c (gfc_resolve_substring_charlen): New function.
|
1694 |
|
|
(resolve_ref): Call gfc_resolve_substring_charlen.
|
1695 |
|
|
(gfc_resolve_character_operator): New function.
|
1696 |
|
|
(gfc_resolve_expr): Call the new functions in cases where the
|
1697 |
|
|
character length is missing.
|
1698 |
|
|
* iresolve.c (cshift, eoshift, merge, pack, reshape, spread,
|
1699 |
|
|
transpose, unpack): Call gfc_resolve_substring_charlen for
|
1700 |
|
|
source expressions that are character and have a reference.
|
1701 |
|
|
* trans.h (gfc_trans_init_string_length) Change name to
|
1702 |
|
|
gfc_conv_string_length; modify references in trans-expr.c,
|
1703 |
|
|
trans-array.c and trans-decl.c.
|
1704 |
|
|
* trans-expr.c (gfc_trans_string_length): Handle case of no
|
1705 |
|
|
backend_decl.
|
1706 |
|
|
(gfc_conv_aliased_arg): Remove code for treating substrings
|
1707 |
|
|
and replace with call to gfc_trans_string_length.
|
1708 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Remove code for
|
1709 |
|
|
treating strings and call gfc_trans_string_length instead.
|
1710 |
|
|
|
1711 |
|
|
2007-08-30 Tobias Burnus
|
1712 |
|
|
|
1713 |
|
|
PR fortran/33228
|
1714 |
|
|
* interface.c (check_interface0): Improve error for external procs.
|
1715 |
|
|
(check_sym_interfaces): Fix checking of module procedures.
|
1716 |
|
|
|
1717 |
|
|
2007-08-29 Francois-Xavier Coudert
|
1718 |
|
|
|
1719 |
|
|
PR fortran/32989
|
1720 |
|
|
* iresolve.c (gfc_resolve_getarg): Handle non-default integer
|
1721 |
|
|
kinds.
|
1722 |
|
|
* check.c (gfc_check_getarg): New function
|
1723 |
|
|
* intrinsic.h: Add prototype for gfc_check_getarg.
|
1724 |
|
|
* intrinsic.c (add_subroutines): Add reference to gfc_check_getarg.
|
1725 |
|
|
* intrinsic.texi (GETARG): Adjust documentation.
|
1726 |
|
|
|
1727 |
|
|
2007-08-29 Francois-Xavier Coudert
|
1728 |
|
|
Tobias Burnus
|
1729 |
|
|
|
1730 |
|
|
PR fortran/33105
|
1731 |
|
|
* intrinsic.c (add_functions): Add IS_IOSTAT_END and
|
1732 |
|
|
IS_IOSTAT_EOR intrinsics.
|
1733 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and
|
1734 |
|
|
GFC_ISYM_IS_IOSTAT_EOR.
|
1735 |
|
|
* trans-intrinsic.c (gfc_conv_has_intvalue): New function.
|
1736 |
|
|
(gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for
|
1737 |
|
|
GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR.
|
1738 |
|
|
* intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR.
|
1739 |
|
|
|
1740 |
|
|
2007-08-28 Christopher D. Rickett
|
1741 |
|
|
|
1742 |
|
|
PR fortran/33215
|
1743 |
|
|
* decl.c (build_sym): Pass number of identifiers on line to
|
1744 |
|
|
set_binding_label.
|
1745 |
|
|
(set_binding_label): Verify that only one identifier given if
|
1746 |
|
|
NAME= specified, even if the given binding label has zero length.
|
1747 |
|
|
(gfc_match_bind_c): Remove declaration for has_name_equals because
|
1748 |
|
|
it hides the static global one that is needed.
|
1749 |
|
|
|
1750 |
|
|
2007-08-29 Francois-Xavier Coudert
|
1751 |
|
|
|
1752 |
|
|
* trans-array.c (gfc_grow_array): Use gfc_call_realloc.
|
1753 |
|
|
(gfc_array_allocate): Use gfc_allocate_with_status and
|
1754 |
|
|
gfc_allocate_array_with_status.
|
1755 |
|
|
(gfc_array_deallocate): Use gfc_deallocate_with_status.
|
1756 |
|
|
(gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
|
1757 |
|
|
* trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
|
1758 |
|
|
(gfc_trans_deallocate): Use gfc_deallocate_with_status.
|
1759 |
|
|
* trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
|
1760 |
|
|
gfc_deallocate_with_status, gfc_call_realloc): New functions.
|
1761 |
|
|
* trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
|
1762 |
|
|
gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
|
1763 |
|
|
(gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
|
1764 |
|
|
gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
|
1765 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Create decl for
|
1766 |
|
|
BUILT_IN_REALLOC.
|
1767 |
|
|
* trans-decl.c (gfor_fndecl_internal_realloc,
|
1768 |
|
|
gfor_fndecl_allocate, gfor_fndecl_allocate_array,
|
1769 |
|
|
gfor_fndecl_deallocate): Remove function decls.
|
1770 |
|
|
(gfc_build_builtin_function_decls): Likewise.
|
1771 |
|
|
|
1772 |
|
|
2007-08-28 Jerry DeLisle
|
1773 |
|
|
|
1774 |
|
|
PR fortran/33055
|
1775 |
|
|
Revert previous patch.
|
1776 |
|
|
|
1777 |
|
|
2007-08-28 Jakub Jelinek
|
1778 |
|
|
|
1779 |
|
|
PR fortran/22244
|
1780 |
|
|
* Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
|
1781 |
|
|
* trans-types.c: Include flags.h.
|
1782 |
|
|
(gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
|
1783 |
|
|
correct bounds and dimensions for packed arrays.
|
1784 |
|
|
|
1785 |
|
|
2007-08-27 Tobias Burnus
|
1786 |
|
|
|
1787 |
|
|
* simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
|
1788 |
|
|
|
1789 |
|
|
2007-08-26 Jerry DeLisle
|
1790 |
|
|
|
1791 |
|
|
PR fortran/33055
|
1792 |
|
|
* trans-io.c (create_dummy_iostat): New function to create a unique
|
1793 |
|
|
dummy variable expression to use with IOSTAT.
|
1794 |
|
|
(gfc_trans_inquire): Use the new function to pass unit number error info
|
1795 |
|
|
to run-time library if a regular IOSTAT variable was not given.
|
1796 |
|
|
|
1797 |
|
|
2007-08-26 H.J. Lu
|
1798 |
|
|
|
1799 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and
|
1800 |
|
|
GFC_ISYM_LGAMMA.
|
1801 |
|
|
|
1802 |
|
|
2007-08-26 Asher Langton
|
1803 |
|
|
Tobias Burnus
|
1804 |
|
|
|
1805 |
|
|
* gfortran.h (gfc_option_t): Add flag_recursive.
|
1806 |
|
|
* lang.opt: Add -frecursive option and update -fopenmp.
|
1807 |
|
|
* invoke.texi (-frecursive): Document new option.
|
1808 |
|
|
(-fopenmp,-fno-automatic,-fmax-stack-var-size): Update.
|
1809 |
|
|
* options.c (gfc_init_options, gfc_post_options,
|
1810 |
|
|
gfc_handle_option): Add -frecursive and modify -fopenmp.
|
1811 |
|
|
(gfc_post_options): Add warning for conflicting flags.
|
1812 |
|
|
|
1813 |
|
|
2007-08-26 Tobias Burnus
|
1814 |
|
|
|
1815 |
|
|
PR fortran/31298
|
1816 |
|
|
* module.c (mio_symbol_ref,mio_interface_rest): Return pointer_info.
|
1817 |
|
|
(load_operator_interfaces): Support multible loading of an operator.
|
1818 |
|
|
|
1819 |
|
|
2007-08-26 Tobias Burnus
|
1820 |
|
|
|
1821 |
|
|
PR fortran/32985
|
1822 |
|
|
* match.c (gfc_match_common): Remove SEQUENCE diagnostics.
|
1823 |
|
|
* resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
|
1824 |
|
|
fix walking through the tree.
|
1825 |
|
|
|
1826 |
|
|
2007-08-26 Tobias Burnus
|
1827 |
|
|
|
1828 |
|
|
PR fortran/32980
|
1829 |
|
|
* intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
|
1830 |
|
|
gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
|
1831 |
|
|
* mathbuiltins.def: Define GAMMA and LGAMMA.
|
1832 |
|
|
* intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
|
1833 |
|
|
and DLGAMA.
|
1834 |
|
|
* simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
|
1835 |
|
|
* iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
|
1836 |
|
|
* intrinsic.texi: Add documentation for GAMMA and LGAMMA.
|
1837 |
|
|
|
1838 |
|
|
2007-08-26 Tobias Burnus
|
1839 |
|
|
|
1840 |
|
|
PR fortran/33188
|
1841 |
|
|
* parse.c (parse_derived): Support empty derived type
|
1842 |
|
|
definitions for Fortran 2003.
|
1843 |
|
|
|
1844 |
|
|
2007-08-25 Kaveh R. Ghazi
|
1845 |
|
|
|
1846 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
|
1847 |
|
|
* trans.h (gfc_omp_privatize_by_reference): Likewise.
|
1848 |
|
|
|
1849 |
|
|
2007-08-24 Tobias Burnus
|
1850 |
|
|
|
1851 |
|
|
PR fortran/33178
|
1852 |
|
|
* intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
|
1853 |
|
|
expression check.
|
1854 |
|
|
|
1855 |
|
|
2007-08-24 Thomas Koenig
|
1856 |
|
|
|
1857 |
|
|
PR fortran/32972
|
1858 |
|
|
* iresolve.c: Don't convert array masks.
|
1859 |
|
|
|
1860 |
|
|
2007-08-24 Tobias Burnus
|
1861 |
|
|
|
1862 |
|
|
PR fortran/33139
|
1863 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
|
1864 |
|
|
whole-array pointer assignments.
|
1865 |
|
|
|
1866 |
|
|
2007-08-23 Jakub Jelinek
|
1867 |
|
|
|
1868 |
|
|
* decl.c (variable_decl): Don't share charlen structs if
|
1869 |
|
|
length == NULL.
|
1870 |
|
|
* trans-decl.c (create_function_arglist): Assert
|
1871 |
|
|
f->sym->ts.cl->backend_decl is NULL instead of unsharing
|
1872 |
|
|
charlen struct here.
|
1873 |
|
|
|
1874 |
|
|
2007-08-23 Francois-Xavier Coudert
|
1875 |
|
|
|
1876 |
|
|
PR fortran/33095
|
1877 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
|
1878 |
|
|
runtime error checking.
|
1879 |
|
|
|
1880 |
|
|
2007-08-22 Roger Sayle
|
1881 |
|
|
Tobias Schlüter
|
1882 |
|
|
|
1883 |
|
|
* match.c (intrinsic_operators): Delete.
|
1884 |
|
|
(gfc_match_intrinsic_op): Rewrite matcher to avoid calling
|
1885 |
|
|
gfc_match_strings.
|
1886 |
|
|
|
1887 |
|
|
2007-08-22 Christopher D. Rickett
|
1888 |
|
|
|
1889 |
|
|
PR fortran/33020
|
1890 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
|
1891 |
|
|
kind for optional SHAPE parameter of C_F_POINTER.
|
1892 |
|
|
|
1893 |
|
|
2007-08-22 Janus Weil
|
1894 |
|
|
|
1895 |
|
|
* decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
|
1896 |
|
|
(gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
|
1897 |
|
|
(gfc_match_mopdproc): Bugfix to reject module procedures in
|
1898 |
|
|
abstract interfaces.
|
1899 |
|
|
|
1900 |
|
|
2007-08-22 Kai Tietz
|
1901 |
|
|
|
1902 |
|
|
* f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using
|
1903 |
|
|
Pmode.
|
1904 |
|
|
|
1905 |
|
|
2007-08-21 Paul Brook
|
1906 |
|
|
Nathan Sidwell
|
1907 |
|
|
Mark Mitchell
|
1908 |
|
|
Joseph Myers
|
1909 |
|
|
|
1910 |
|
|
* gfortranspec.c (lang_specific_driver): Use pkgversion_string.
|
1911 |
|
|
* Make-lang.in (gfortran.pod): Define BUGURL.
|
1912 |
|
|
* invoke.texi: Use BUGURL for bug-reporting instructions.
|
1913 |
|
|
|
1914 |
|
|
2007-08-19 Roger Sayle
|
1915 |
|
|
|
1916 |
|
|
* match.c (intrinsic_operators): Make static.
|
1917 |
|
|
(gfc_op2string): New function for converting a gfc_intrinsic_op to
|
1918 |
|
|
to a "const char*", replacing the macro of the same name.
|
1919 |
|
|
* gfortran.h (intrinsic_operators): Delete prototype.
|
1920 |
|
|
(gfc_op2string): Replace macro with function prototype.
|
1921 |
|
|
|
1922 |
|
|
2007-08-18 Tobias Burnus
|
1923 |
|
|
|
1924 |
|
|
* gfortran.h (gfc_is_intrinsic_typename): Add declaration.
|
1925 |
|
|
* symbol.c (gfc_is_intrinsic_typename): New function.
|
1926 |
|
|
* parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
|
1927 |
|
|
(parse_interface): Use gfc_is_intrinsic_typename.
|
1928 |
|
|
* decl.c (gfc_match_derived_decl): Ditto.
|
1929 |
|
|
* module.c (gfc_match_use): Use gcc_unreachable() for
|
1930 |
|
|
INTERFACE_ABSTRACT in switch().
|
1931 |
|
|
|
1932 |
|
|
2007-08-18 Roger Sayle
|
1933 |
|
|
|
1934 |
|
|
* primary.c (match_logical_constant_string): New function to match
|
1935 |
|
|
a ".true." or a ".false.".
|
1936 |
|
|
(match_logical_constant): Use it instead of gfc_match_strings.
|
1937 |
|
|
|
1938 |
|
|
2007-08-18 Paul Thomas
|
1939 |
|
|
Janus Weil
|
1940 |
|
|
|
1941 |
|
|
* interface.c (gfc_match_interface,gfc_match_abstract_interface,
|
1942 |
|
|
gfc_match_end_interface,gfc_add_interface): Add abstract interface.
|
1943 |
|
|
* dump-parse-tree.c (gfc_show_attr): Ditto.
|
1944 |
|
|
* gfortran.h (interface_type,symbol_attribute): Ditto.
|
1945 |
|
|
* module.c (gfc_match_use,ab_attribute,attr_bits,
|
1946 |
|
|
mio_symbol_attribute): Ditto.
|
1947 |
|
|
* resolve.c (resolve_function): Ditto.
|
1948 |
|
|
* match.h: Ditto.
|
1949 |
|
|
* parse.c (decode_statement): Ditto.
|
1950 |
|
|
(parse_interface): Ditto, check for C1203 (name of abstract interface
|
1951 |
|
|
cannot be the same as an intrinsic type).
|
1952 |
|
|
* decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
|
1953 |
|
|
(access_attr_decl): Handle Abstract interfaces.
|
1954 |
|
|
|
1955 |
|
|
2007-08-18 Paul Thomas
|
1956 |
|
|
|
1957 |
|
|
PR fortran/32881
|
1958 |
|
|
* expr.c (gfc_check_pointer_assign): If the rhs is the
|
1959 |
|
|
initialization expression for the rhs, there is no error.
|
1960 |
|
|
|
1961 |
|
|
2007-08-18 Paul Thomas
|
1962 |
|
|
|
1963 |
|
|
PR fortran/32875
|
1964 |
|
|
* trans-array.c (get_array_ctor_strlen): Set the character
|
1965 |
|
|
length of a zero length array to zero.
|
1966 |
|
|
|
1967 |
|
|
2007-08-16 Tobias Burnus
|
1968 |
|
|
|
1969 |
|
|
PR fortran/33072
|
1970 |
|
|
* module.c (gfc_match_use): Mark user operators as such.
|
1971 |
|
|
(find_use_name_n): Distinguish between operators and other symbols.
|
1972 |
|
|
(find_use_name,number_use_names,mio_namelist,
|
1973 |
|
|
load_operator_interfaces,load_generic_interfaces,read_module,
|
1974 |
|
|
write_generic): Update find_use_name_n calls.
|
1975 |
|
|
|
1976 |
|
|
2007-08-15 Francois-Xavier Coudert
|
1977 |
|
|
|
1978 |
|
|
PR fortran/29459
|
1979 |
|
|
* trans.c (gfc_create_var_np): Do not emit warnings for
|
1980 |
|
|
anonymous variables.
|
1981 |
|
|
|
1982 |
|
|
2007-08-15 Francois-Xavier Coudert
|
1983 |
|
|
|
1984 |
|
|
PR fortran/33066
|
1985 |
|
|
* decl.c (gfc_get_type_attr_spec): Fix whitespace.
|
1986 |
|
|
(gfc_match_derived_decl): Fix logic.
|
1987 |
|
|
|
1988 |
|
|
2007-08-14 Francois-Xavier Coudert
|
1989 |
|
|
|
1990 |
|
|
PR fortran/33073
|
1991 |
|
|
* trans-intrinsic.c (build_fixbound_expr): Convert to result type
|
1992 |
|
|
in all cases.
|
1993 |
|
|
|
1994 |
|
|
2007-08-14 Francois-Xavier Coudert
|
1995 |
|
|
|
1996 |
|
|
PR fortran/32594
|
1997 |
|
|
* trans-expr.c (gfc_conv_substring_expr): Only call
|
1998 |
|
|
gfc_conv_substring if expr->ref is not NULL.
|
1999 |
|
|
* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
|
2000 |
|
|
expression might be a constant.
|
2001 |
|
|
(gfc_simplify_expr): Handle missing start and end, as well as
|
2002 |
|
|
missing ref.
|
2003 |
|
|
|
2004 |
|
|
2007-08-13 Paul Thomas
|
2005 |
|
|
|
2006 |
|
|
PR fortran/32926
|
2007 |
|
|
* match.c (gfc_match_call): Do not create a new symtree in the
|
2008 |
|
|
case where the existing symbol is external and not referenced.
|
2009 |
|
|
|
2010 |
|
|
2007-08-13 Paul Thomas
|
2011 |
|
|
|
2012 |
|
|
PR fortran/32827
|
2013 |
|
|
* decl.c (variable_decl): Check for an imported symbol
|
2014 |
|
|
by looking for its symtree and testing for the imported
|
2015 |
|
|
attribute.
|
2016 |
|
|
(gfc_match_import): Remove change of symbol's namespace
|
2017 |
|
|
and set the attribute imported instead.
|
2018 |
|
|
* symbol.c (gfc_get_sym_tree): It is not an error if a
|
2019 |
|
|
symbol is imported.
|
2020 |
|
|
* gfortran.h : Add the 'imported' to symbol_attribute.
|
2021 |
|
|
|
2022 |
|
|
2007-08-13 Paul Thomas
|
2023 |
|
|
|
2024 |
|
|
PR fortran/32962
|
2025 |
|
|
* trans-array.c (gfc_conv_array_transpose): Set the offset
|
2026 |
|
|
of the destination to zero if the loop is zero based.
|
2027 |
|
|
|
2028 |
|
|
2007-08-12 Francois-Xavier Coudert
|
2029 |
|
|
|
2030 |
|
|
PR fortran/29600
|
2031 |
|
|
* intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
|
2032 |
|
|
* iresolve.c (gfc_resolve_achar): Handle the KIND argument.
|
2033 |
|
|
* check.c (gfc_check_achar): Check for the optional KIND argument.
|
2034 |
|
|
* simplify.c (gfc_simplify_achar): Use KIND argument.
|
2035 |
|
|
* intrinsic.h (gfc_check_achar, gfc_simplify_achar,
|
2036 |
|
|
gfc_resolve_achar): Adjust prototypes.
|
2037 |
|
|
|
2038 |
|
|
2007-08-12 Francois-Xavier Coudert
|
2039 |
|
|
|
2040 |
|
|
PR fortran/30964
|
2041 |
|
|
PR fortran/33054
|
2042 |
|
|
* trans-expr.c (gfc_conv_function_call): When no formal argument
|
2043 |
|
|
list is available, we still substitute missing optional arguments.
|
2044 |
|
|
* check.c (gfc_check_random_seed): Correct the check on the
|
2045 |
|
|
number of arguments to RANDOM_SEED.
|
2046 |
|
|
* intrinsic.c (add_subroutines): Add a resolution function to
|
2047 |
|
|
RANDOM_SEED.
|
2048 |
|
|
* iresolve.c (gfc_resolve_random_seed): New function.
|
2049 |
|
|
* intrinsic.h (gfc_resolve_random_seed): New prototype.
|
2050 |
|
|
|
2051 |
|
|
2007-08-12 Francois-Xavier Coudert
|
2052 |
|
|
|
2053 |
|
|
PR fortran/32860
|
2054 |
|
|
* error.c (error_uinteger): New function.
|
2055 |
|
|
(error_integer): Call error_uinteger.
|
2056 |
|
|
(error_print): Handle %u, %lu, %li and %ld format specifiers.
|
2057 |
|
|
* interface.c (compare_actual_formal): Use the new %lu specifier.
|
2058 |
|
|
|
2059 |
|
|
2007-08-12 Francois-Xavier Coudert
|
2060 |
|
|
|
2061 |
|
|
PR fortran/31629
|
2062 |
|
|
* lang.opt (-fmodule-private): New option.
|
2063 |
|
|
* gfortran.h (gfc_option_t): Add flag_module_private member.
|
2064 |
|
|
* invoke.texi (-fmodule-private): Document the new option.
|
2065 |
|
|
* module.c (gfc_check_access): Allow the -fmodule-private option
|
2066 |
|
|
to modify the default behaviour.
|
2067 |
|
|
* options.c (gfc_init_options): Initialize flag_module_private.
|
2068 |
|
|
(gfc_handle_option): Handle -fmodule-private.
|
2069 |
|
|
|
2070 |
|
|
2007-08-12 Francois-Xavier Coudert
|
2071 |
|
|
|
2072 |
|
|
PR fortran/29600
|
2073 |
|
|
* intrinsic.c (add_functions): Add KIND arguments to COUNT,
|
2074 |
|
|
IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
|
2075 |
|
|
and VERIFY.
|
2076 |
|
|
* iresolve.c (gfc_resolve_count): Add kind argument.
|
2077 |
|
|
(gfc_resolve_iachar): New function.
|
2078 |
|
|
(gfc_resolve_ichar): Add kind argument.
|
2079 |
|
|
(gfc_resolve_index_func): Likewise.
|
2080 |
|
|
(gfc_resolve_lbound): Likewise.
|
2081 |
|
|
(gfc_resolve_len): Likewise.
|
2082 |
|
|
(gfc_resolve_len_trim): Likewise.
|
2083 |
|
|
(gfc_resolve_scan): Likewise.
|
2084 |
|
|
(gfc_resolve_size): New function.
|
2085 |
|
|
(gfc_resolve_ubound): Add kind argument.
|
2086 |
|
|
(gfc_resolve_verify): Likewise.
|
2087 |
|
|
* trans-decl.c (gfc_get_extern_function_decl): Allow specific
|
2088 |
|
|
intrinsics to have 4 arguments.
|
2089 |
|
|
* check.c (gfc_check_count): Add kind argument.
|
2090 |
|
|
(gfc_check_ichar_iachar): Likewise.
|
2091 |
|
|
(gfc_check_index): Likewise.
|
2092 |
|
|
(gfc_check_lbound): Likewise.
|
2093 |
|
|
(gfc_check_len_lentrim): New function.
|
2094 |
|
|
(gfc_check_scan): Add kind argument.
|
2095 |
|
|
(gfc_check_size): Likewise.
|
2096 |
|
|
(gfc_check_ubound): Likewise.
|
2097 |
|
|
(gfc_check_verify): Likewise.
|
2098 |
|
|
* intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
|
2099 |
|
|
INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
|
2100 |
|
|
* simplify.c (get_kind): Whitespace fix.
|
2101 |
|
|
(int_expr_with_kind): New function.
|
2102 |
|
|
(gfc_simplify_iachar): Add kind argument.
|
2103 |
|
|
(gfc_simplify_iachar): Likewise.
|
2104 |
|
|
(gfc_simplify_ichar): Likewise.
|
2105 |
|
|
(gfc_simplify_index): Likewise.
|
2106 |
|
|
(simplify_bound_dim): Likewise.
|
2107 |
|
|
(simplify_bound): Likewise.
|
2108 |
|
|
(gfc_simplify_lbound): Likewise.
|
2109 |
|
|
(gfc_simplify_len): Likewise.
|
2110 |
|
|
(gfc_simplify_len_trim): Likewise.
|
2111 |
|
|
(gfc_simplify_scan): Likewise.
|
2112 |
|
|
(gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
|
2113 |
|
|
(gfc_simplify_size): Add kind argument.
|
2114 |
|
|
(gfc_simplify_ubound): Likewise.
|
2115 |
|
|
(gfc_simplify_verify): Likewise.
|
2116 |
|
|
* intrinsic.h: Update prototypes and add new ones.
|
2117 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
|
2118 |
|
|
gfc_conv_intrinsic_index_scan_verify.
|
2119 |
|
|
(gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
|
2120 |
|
|
(gfc_conv_intrinsic_function): Call
|
2121 |
|
|
gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
|
2122 |
|
|
SCAN and VERIFY intrinsics.
|
2123 |
|
|
|
2124 |
|
|
2007-08-11 Francois-Xavier Coudert
|
2125 |
|
|
|
2126 |
|
|
PR fortran/31189
|
2127 |
|
|
* invoke.texi (-fbacktrace): Document the new behaviour.
|
2128 |
|
|
|
2129 |
|
|
2007-08-11 Francois-Xavier Coudert
|
2130 |
|
|
|
2131 |
|
|
PR fortran/32937
|
2132 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Use
|
2133 |
|
|
gfc_conv_const_charlen to generate backend_decl of right type.
|
2134 |
|
|
* trans-expr.c (gfc_conv_expr_op): Use correct return type.
|
2135 |
|
|
(gfc_build_compare_string): Use int type instead of default
|
2136 |
|
|
integer kind for single character comparison.
|
2137 |
|
|
(gfc_conv_aliased_arg): Give backend_decl the right type.
|
2138 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Make
|
2139 |
|
|
compare_string return an int.
|
2140 |
|
|
|
2141 |
|
|
2007-08-11 Ian Lance Taylor
|
2142 |
|
|
|
2143 |
|
|
* f95-lang.c (gfc_get_alias_set): Change return type to
|
2144 |
|
|
alias_set_type.
|
2145 |
|
|
|
2146 |
|
|
2007-08-10 Francois-Xavier Coudert
|
2147 |
|
|
|
2148 |
|
|
PR fortran/31270
|
2149 |
|
|
* trans.c (gfc_trans_runtime_check): Reorder arguments and
|
2150 |
|
|
add extra variable arguments. Hand them to the library function.
|
2151 |
|
|
* trans.h (gfc_trans_runtime_check): Update prototype.
|
2152 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Issue more
|
2153 |
|
|
detailled error messages.
|
2154 |
|
|
(gfc_conv_array_ref): Likewise.
|
2155 |
|
|
(gfc_conv_ss_startstride): Likewise.
|
2156 |
|
|
(gfc_trans_dummy_array_bias): Reorder arguments to
|
2157 |
|
|
gfc_trans_runtime_check.
|
2158 |
|
|
* trans-expr.c (gfc_conv_substring): Issue more detailled
|
2159 |
|
|
error messages.
|
2160 |
|
|
(gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
|
2161 |
|
|
* trans-stmt.c (gfc_trans_goto): Likewise.
|
2162 |
|
|
* trans-io.c (set_string): Reorder arguments to
|
2163 |
|
|
gfc_trans_runtime_check and issue a more detailled error message.
|
2164 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Make
|
2165 |
|
|
runtime_error and runtime_error_at handle a variable number of
|
2166 |
|
|
arguments.
|
2167 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
|
2168 |
|
|
to gfc_trans_runtime_check.
|
2169 |
|
|
(gfc_conv_intrinsic_minmax): Likewise.
|
2170 |
|
|
(gfc_conv_intrinsic_repeat): Issue more detailled error messages.
|
2171 |
|
|
|
2172 |
|
|
2007-08-10 Kaveh R. Ghazi
|
2173 |
|
|
|
2174 |
|
|
* gfortranspec.c (lang_specific_driver): Use CONST_CAST.
|
2175 |
|
|
* options.c (gfc_post_options): Likewise.
|
2176 |
|
|
* parse.c (parse_omp_structured_block): Likewise.
|
2177 |
|
|
* st.c (gfc_free_statement): Likewise.
|
2178 |
|
|
|
2179 |
|
|
2007-08-10 Francois-Xavier Coudert
|
2180 |
|
|
|
2181 |
|
|
PR fortran/32933
|
2182 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Change
|
2183 |
|
|
prototype for associated.
|
2184 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
|
2185 |
|
|
result of __builtin_isnan into a boolean.
|
2186 |
|
|
(gfc_conv_intrinsic_strcmp): Cleanup.
|
2187 |
|
|
(gfc_conv_associated): Convert the result of the associated
|
2188 |
|
|
function into a boolean.
|
2189 |
|
|
|
2190 |
|
|
2007-08-09 Tobias Burnus
|
2191 |
|
|
|
2192 |
|
|
PR fortran/32987
|
2193 |
|
|
* io.c (format_token): Add FMT_ERROR.
|
2194 |
|
|
(next_char_not_space): Print error/warning when
|
2195 |
|
|
'\t' are used in format specifications.
|
2196 |
|
|
(format_lex): Propagate error.
|
2197 |
|
|
(check_format): Ditto.
|
2198 |
|
|
|
2199 |
|
|
2007-08-09 Tobias Burnus
|
2200 |
|
|
|
2201 |
|
|
PR fortran/33001
|
2202 |
|
|
* arith.c (arith_error): Point in the error message
|
2203 |
|
|
to -fno-range-check.
|
2204 |
|
|
|
2205 |
|
|
2007-08-09 Francois-Xavier Coudert
|
2206 |
|
|
|
2207 |
|
|
PR fortran/32902
|
2208 |
|
|
* intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
|
2209 |
|
|
|
2210 |
|
|
2007-08-06 Christopher D. Rickett
|
2211 |
|
|
|
2212 |
|
|
PR fortran/32732
|
2213 |
|
|
* trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
|
2214 |
|
|
actual arg expressions for scalar characters passed by-value to
|
2215 |
|
|
bind(c) routines.
|
2216 |
|
|
(gfc_conv_function_call): Call gfc_conv_scalar_char_value.
|
2217 |
|
|
* trans.h: Add prototype for gfc_conv_scalar_char_value.
|
2218 |
|
|
* trans-decl.c (generate_local_decl): Convert by-value character
|
2219 |
|
|
dummy args of bind(c) procedures using
|
2220 |
|
|
gfc_conv_scalar_char_value.
|
2221 |
|
|
|
2222 |
|
|
2007-08-06 Francois-Xavier Coudert
|
2223 |
|
|
|
2224 |
|
|
PR fortran/30947
|
2225 |
|
|
* iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
|
2226 |
|
|
with the kind of the STATUS argument.
|
2227 |
|
|
|
2228 |
|
|
2007-08-06 Francois-Xavier Coudert
|
2229 |
|
|
|
2230 |
|
|
PR fortran/30948
|
2231 |
|
|
* intrinsic.c (add_functions): Fix name of argument to CHDIR.
|
2232 |
|
|
|
2233 |
|
|
2007-08-06 Francois-Xavier Coudert
|
2234 |
|
|
|
2235 |
|
|
PR fortran/30933
|
2236 |
|
|
* iresolve.c (gfc_resolve_exit): Convert argument to default
|
2237 |
|
|
integer kind.
|
2238 |
|
|
|
2239 |
|
|
2007-08-06 Daniel Franke
|
2240 |
|
|
|
2241 |
|
|
* resolve.c (derived_pointer): Removed, replaced callers by access
|
2242 |
|
|
to appropiate attribute bit.
|
2243 |
|
|
(derived_inaccessable): Shortcut recursion depth.
|
2244 |
|
|
(resolve_fl_namelist): Fixed checks for private components in namelists.
|
2245 |
|
|
|
2246 |
|
|
2007-08-06 Francois-Xavier Coudert
|
2247 |
|
|
|
2248 |
|
|
PR fortran/29828
|
2249 |
|
|
* trans.h (gfor_fndecl_string_minmax): New prototype.
|
2250 |
|
|
* trans-decl.c (gfor_fndecl_string_minmax): New variable.
|
2251 |
|
|
(gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
|
2252 |
|
|
* check.c (gfc_check_min_max): Allow for character arguments.
|
2253 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
|
2254 |
|
|
(gfc_conv_intrinsic_function): Add special case for MIN and MAX
|
2255 |
|
|
intrinsics with character arguments.
|
2256 |
|
|
* simplify.c (simplify_min_max): Add simplification for character
|
2257 |
|
|
arguments.
|
2258 |
|
|
|
2259 |
|
|
2007-08-06 Francois-Xavier Coudert
|
2260 |
|
|
|
2261 |
|
|
PR fortran/31612
|
2262 |
|
|
* invoke.texi: Adjust documentation for option -fsyntax-only.
|
2263 |
|
|
|
2264 |
|
|
2007-08-05 Francois-Xavier Coudert
|
2265 |
|
|
Tobias Burnus
|
2266 |
|
|
|
2267 |
|
|
PR fortran/32979
|
2268 |
|
|
* intrinsic.h (gfc_check_isnan): Add prototype.
|
2269 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
|
2270 |
|
|
* intrinsic.c (add_functions): Add ISNAN intrinsic.
|
2271 |
|
|
* check.c (gfc_check_isnan): New function.
|
2272 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
|
2273 |
|
|
(gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
|
2274 |
|
|
to translate ISNAN.
|
2275 |
|
|
* intrinsic.texi: Document ISNAN.
|
2276 |
|
|
|
2277 |
|
|
2007-08-04 Paul Thomas
|
2278 |
|
|
|
2279 |
|
|
PR fortran/31214
|
2280 |
|
|
* symbol.c (get_unique_symtree): Moved from module.c.
|
2281 |
|
|
* module.c (get_unique_symtree): Moved to symbol.c.
|
2282 |
|
|
* decl.c (get_proc_name): Transfer the typespec from the local
|
2283 |
|
|
symbol to the module symbol, in the case that an entry is also
|
2284 |
|
|
a module procedure. Ensure the local symbol is cleaned up by
|
2285 |
|
|
pointing to it with a unique symtree.
|
2286 |
|
|
|
2287 |
|
|
* dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
|
2288 |
|
|
|
2289 |
|
|
2007-08-04 Steven G. Kargl
|
2290 |
|
|
|
2291 |
|
|
PR fortran/32969
|
2292 |
|
|
* iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
|
2293 |
|
|
expected KIND.
|
2294 |
|
|
(gfc_resolve_scale): Ditto.
|
2295 |
|
|
(gfc_resolve_set_exponent): Ditto.
|
2296 |
|
|
(gfc_resolve_spacing): Ditto.
|
2297 |
|
|
|
2298 |
|
|
PR fortran/32968
|
2299 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
|
2300 |
|
|
gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
|
2301 |
|
|
expected KIND, and fold the result to the expected KIND.
|
2302 |
|
|
|
2303 |
|
|
2007-08-03 Francois-Xavier Coudert
|
2304 |
|
|
|
2305 |
|
|
PR fortran/31202
|
2306 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Defin builtins for
|
2307 |
|
|
lround{f,,l} and llround{f,,l}.
|
2308 |
|
|
* trans-intrinsic.c (build_fix_expr): Generate calls to the
|
2309 |
|
|
{l,}round{f,,l} functions.
|
2310 |
|
|
|
2311 |
|
|
2007-08-01 Thomas Koenig
|
2312 |
|
|
|
2313 |
|
|
PR libfortran/32954
|
2314 |
|
|
* intrinsic.c (resolve_mask_arg): New function.
|
2315 |
|
|
(gfc_resolve_maxloc): Use resolve_mask_arg for mask resolution.
|
2316 |
|
|
(gfc_resolve_maxval): Likewise.
|
2317 |
|
|
(gfc_resolve_minloc): Likewise.
|
2318 |
|
|
(gfc_resolve_minval): Likewise.
|
2319 |
|
|
(gfc_resolve_pack): Likewise.
|
2320 |
|
|
(gfc_resolve_product): Likewise.
|
2321 |
|
|
(gfc_resolve_sum): Likewise.
|
2322 |
|
|
(gfc_resolve_unpack): Likewise.
|
2323 |
|
|
|
2324 |
|
|
2007-08-01 Tobias Burnus
|
2325 |
|
|
|
2326 |
|
|
PR fortran/32936
|
2327 |
|
|
* match.c (gfc_match_allocate): Better check that STAT is
|
2328 |
|
|
a variable.
|
2329 |
|
|
|
2330 |
|
|
* check.c (gfc_check_allocated): Reorder checks to improve
|
2331 |
|
|
error message.
|
2332 |
|
|
|
2333 |
|
|
2007-08-01 Nick Clifton
|
2334 |
|
|
|
2335 |
|
|
* arith.c: Change copyright header to refer to version 3 of the
|
2336 |
|
|
GNU General Public License and to point readers at the COPYING3
|
2337 |
|
|
file and the FSF's license web page.
|
2338 |
|
|
* openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
|
2339 |
|
|
symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
|
2340 |
|
|
matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
|
2341 |
|
|
Make-lang.in, trans-openmp.c, gfortran.h, error.c,
|
2342 |
|
|
iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
|
2343 |
|
|
expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
|
2344 |
|
|
trans-types.c, trans.h, gfortranspec.c, trans-types.h,
|
2345 |
|
|
lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
|
2346 |
|
|
iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
|
2347 |
|
|
match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
|
2348 |
|
|
parse.h, types.def, convert.c, dependency.h, primary.c,
|
2349 |
|
|
trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
|
2350 |
|
|
|
2351 |
|
|
2007-08-01 Daniel Franke
|
2352 |
|
|
|
2353 |
|
|
* trans-decl.c (generate_local_decl): Emit warning on unused parameter
|
2354 |
|
|
on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
|
2355 |
|
|
messages that start with lower case to upper case.
|
2356 |
|
|
* invoke.texi (-Wparameter-unused): Document differences between gcc
|
2357 |
|
|
and gfortran regarding this option.
|
2358 |
|
|
|
2359 |
|
|
2007-08-01 Daniel Franke
|
2360 |
|
|
|
2361 |
|
|
PR fortran/32945
|
2362 |
|
|
* expr.c (check_specification_function): Skip check if no symtree
|
2363 |
|
|
is available.
|
2364 |
|
|
|
2365 |
|
|
2007-08-01 Paul Thomas
|
2366 |
|
|
|
2367 |
|
|
PR fortran/31609
|
2368 |
|
|
* resolve.c (resolve_entries): Entries declared to be module
|
2369 |
|
|
procedures must point to the function namespace.
|
2370 |
|
|
|
2371 |
|
|
2007-07-31 Francois-Xavier Coudert
|
2372 |
|
|
|
2373 |
|
|
PR fortran/32938
|
2374 |
|
|
* trans-stmt.c (gfc_trans_return): Convert to correct type.
|
2375 |
|
|
|
2376 |
|
|
2007-07-31 Steven G. Kargl
|
2377 |
|
|
|
2378 |
|
|
PR fortran/32942
|
2379 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
|
2380 |
|
|
type.
|
2381 |
|
|
|
2382 |
|
|
2007-07-29 Jerry DeLisle
|
2383 |
|
|
|
2384 |
|
|
* invoke.texi: Document -fsign-zero flag.
|
2385 |
|
|
|
2386 |
|
|
2007-07-29 Paul Thomas
|
2387 |
|
|
|
2388 |
|
|
PR fortran/31211
|
2389 |
|
|
* trans-expr.c (gfc_conv_expr_reference): Add block for case of
|
2390 |
|
|
scalar pointer functions so that NULL result is correctly
|
2391 |
|
|
handled.
|
2392 |
|
|
|
2393 |
|
|
PR fortran/32682
|
2394 |
|
|
* trans-array.c (gfc_trans_array_constructor): On detecting a
|
2395 |
|
|
multi-dimensional parameter array, set the loop limits.
|
2396 |
|
|
|
2397 |
|
|
2007-07-29 Daniel Franke
|
2398 |
|
|
|
2399 |
|
|
PR fortran/32906
|
2400 |
|
|
* resolve.c (resolve_fl_parameter): Check for constant shape arrays,
|
2401 |
|
|
adjusted error message.
|
2402 |
|
|
|
2403 |
|
|
2007-07-29 Daniel Franke
|
2404 |
|
|
|
2405 |
|
|
* invoke.texi: Removed -w from option summary.
|
2406 |
|
|
|
2407 |
|
|
2007-07-29 Daniel Franke
|
2408 |
|
|
|
2409 |
|
|
PR fortran/32879
|
2410 |
|
|
* intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
|
2411 |
|
|
used for random number generator.
|
2412 |
|
|
|
2413 |
|
|
2007-07-28 Kazu Hirata
|
2414 |
|
|
|
2415 |
|
|
* gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
|
2416 |
|
|
typos.
|
2417 |
|
|
* intrinsic.texi, invoke.texi: Fix typos.
|
2418 |
|
|
|
2419 |
|
|
2007-07-28 Jerry DeLisle
|
2420 |
|
|
|
2421 |
|
|
PR fortran/31609
|
2422 |
|
|
* resolve.c (generic_sym): Check for a same symbol and if so, return to
|
2423 |
|
|
avoid infinite recursion.
|
2424 |
|
|
|
2425 |
|
|
2007-07-28 Daniel Franke
|
2426 |
|
|
|
2427 |
|
|
PR fortran/31818
|
2428 |
|
|
PR fortran/32876
|
2429 |
|
|
PR fortran/32905
|
2430 |
|
|
* gfortran.h (symbol_attribute): Added bits for pointer_comp,
|
2431 |
|
|
private_comp.
|
2432 |
|
|
* parse.c (parse_derived): Set pointer_comp/private_comp bits if
|
2433 |
|
|
the derived type ultimately contains pointer components or private
|
2434 |
|
|
components.
|
2435 |
|
|
* module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
|
2436 |
|
|
(attr_bits): Added names for new ab_attributes.
|
2437 |
|
|
(mio_symbol_attribute): Save/restore new attribute bits in modules.
|
2438 |
|
|
* match.c (gfc_match_namelist): Removed check for namelist objects
|
2439 |
|
|
of assumed shape.
|
2440 |
|
|
* resolve.c (resolve_fl_namelist): Added check for pointer or
|
2441 |
|
|
private components in nested types. Added check for namelist objects
|
2442 |
|
|
of assumed shape.
|
2443 |
|
|
|
2444 |
|
|
2007-07-28 Paul Thomas
|
2445 |
|
|
|
2446 |
|
|
PR fortran/32880
|
2447 |
|
|
* trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
|
2448 |
|
|
for lse and rse pre expressions, for derived types with
|
2449 |
|
|
allocatable components. Instead, assign the lhs to a temporary
|
2450 |
|
|
and deallocate after the assignment.
|
2451 |
|
|
|
2452 |
|
|
2007-07-28 Janne Blomqvist
|
2453 |
|
|
|
2454 |
|
|
PR fortran/32909
|
2455 |
|
|
* trans-stmt.c (gfc_trans_character_select): Replace occurrences
|
2456 |
|
|
of gfc_c_int_type_node with integer_type_node.
|
2457 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
|
2458 |
|
|
(gfc_build_builtin_function_decls): Likewise.
|
2459 |
|
|
(gfc_generate_function_code): Likewise.
|
2460 |
|
|
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
|
2461 |
|
|
|
2462 |
|
|
2007-07-27 Janne Blomqvist
|
2463 |
|
|
|
2464 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Use existing
|
2465 |
|
|
gfc_array_index_type rather than creating another typenode for
|
2466 |
|
|
gfc_index_integer_kind.
|
2467 |
|
|
|
2468 |
|
|
2007-07-27 Janne Blomqvist
|
2469 |
|
|
|
2470 |
|
|
* trans-io.c (gfc_build_io_library_fndecls): Change to use
|
2471 |
|
|
gfc_array_index_type for array descriptor triplets instead of
|
2472 |
|
|
gfc_int4_type_node.
|
2473 |
|
|
|
2474 |
|
|
2007-07-26 Steven G. Kargl
|
2475 |
|
|
|
2476 |
|
|
PR fortran/32899
|
2477 |
|
|
* resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
|
2478 |
|
|
|
2479 |
|
|
2007-07-27 Jerry DeLisle
|
2480 |
|
|
Daniel Franke
|
2481 |
|
|
|
2482 |
|
|
PR fortran/32760
|
2483 |
|
|
* primary.c (match_variable): Do not call gfc_add_flavor if symbol has
|
2484 |
|
|
attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
|
2485 |
|
|
|
2486 |
|
|
2007-07-27 Francois-Xavier Coudert
|
2487 |
|
|
|
2488 |
|
|
PR fortran/32035
|
2489 |
|
|
* trans-stmt.c (gfc_trans_character_select): Replace the
|
2490 |
|
|
mechanism with labels by a SWITCH_EXPR.
|
2491 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Change
|
2492 |
|
|
return type for select_string.
|
2493 |
|
|
|
2494 |
|
|
2007-07-27 Paul Thomas
|
2495 |
|
|
|
2496 |
|
|
PR fortran/32903
|
2497 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
|
2498 |
|
|
derived types as referenced, if they have the the default
|
2499 |
|
|
initializer set.
|
2500 |
|
|
|
2501 |
|
|
2007-07-25 Kaveh R. Ghazi
|
2502 |
|
|
|
2503 |
|
|
* gfortran.h (generate_isocbinding_symbol): Constify.
|
2504 |
|
|
* symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
|
2505 |
|
|
generate_isocbinding_symbol): Likewise.
|
2506 |
|
|
|
2507 |
|
|
2007-07-24 Paul Thomas
|
2508 |
|
|
|
2509 |
|
|
PR fortran/31205
|
2510 |
|
|
PR fortran/32842
|
2511 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove the default
|
2512 |
|
|
initialization of intent(out) derived types.
|
2513 |
|
|
* symbol.c (gfc_lval_expr_from_sym): New function.
|
2514 |
|
|
* matchexp.c (gfc_get_parentheses): Return argument, if it is
|
2515 |
|
|
character and posseses a ref.
|
2516 |
|
|
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
|
2517 |
|
|
* resolve.c (has_default_initializer): Move higher up in file.
|
2518 |
|
|
(resolve_code): On detecting an interface assignment, check
|
2519 |
|
|
if the rhs and the lhs are the same symbol. If this is so,
|
2520 |
|
|
enclose the rhs in parenetheses to generate a temporary and
|
2521 |
|
|
prevent any possible aliasing.
|
2522 |
|
|
(apply_default_init): Remove code making the lval and call
|
2523 |
|
|
gfc_lval_expr_from_sym instead.
|
2524 |
|
|
(resolve_operator): Give a parentheses expression a type-
|
2525 |
|
|
spec if it has no type.
|
2526 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
|
2527 |
|
|
initializer, if any, to an intent(out) derived type, using
|
2528 |
|
|
gfc_lval_expr_from_sym and gfc_trans_assignment. Check if
|
2529 |
|
|
the dummy is present.
|
2530 |
|
|
|
2531 |
|
|
2007-07-24 Daniel Franke
|
2532 |
|
|
|
2533 |
|
|
PR fortran/32867
|
2534 |
|
|
* expr.c (check_init_expr): Simplify matched functions.
|
2535 |
|
|
|
2536 |
|
|
2007-07-24 Daniel Franke
|
2537 |
|
|
|
2538 |
|
|
PR fortran/32778
|
2539 |
|
|
* intrinsic.c (add_sym): Do not exclude any symbols, even if not part
|
2540 |
|
|
of the selected standard.
|
2541 |
|
|
(make generic): Likewise.
|
2542 |
|
|
(make alias): Likewise, set standard the alias belongs to.
|
2543 |
|
|
(add_subroutines): Call make_noreturn unconditionally.
|
2544 |
|
|
(check_intrinsic_standard): Change return value to try.
|
2545 |
|
|
(gfc_intrinsic_func_interface): Check return value of above function.
|
2546 |
|
|
(gfc_intrinsic_sub_interface): Likewise.
|
2547 |
|
|
|
2548 |
|
|
2007-07-24 Thomas Koenig
|
2549 |
|
|
|
2550 |
|
|
PR fortran/30814
|
2551 |
|
|
* trans-decl.c (generate_function_code): Add argument
|
2552 |
|
|
for flag_bounds_check to the array for set_options.
|
2553 |
|
|
* invoke.texi (-fbounds-check): Document new libarary run-time
|
2554 |
|
|
behaviour.
|
2555 |
|
|
|
2556 |
|
|
2007-07-23 Daniel Franke
|
2557 |
|
|
|
2558 |
|
|
PR fortran/25104
|
2559 |
|
|
PR fortran/31639
|
2560 |
|
|
* expr.c (check_transformational): Reject valid transformational
|
2561 |
|
|
intrinsics to avoid ICE.
|
2562 |
|
|
(check_inquiry): Report error for assumed character lengths for
|
2563 |
|
|
all supported standards.
|
2564 |
|
|
(check_init_expr): Whitespace fix.
|
2565 |
|
|
|
2566 |
|
|
2007-07-23 Christopher D. Rickett
|
2567 |
|
|
|
2568 |
|
|
PR fortran/32797
|
2569 |
|
|
PR fortran/32800
|
2570 |
|
|
* decl.c (verify_bind_c_sym): Use the result symbol for functions
|
2571 |
|
|
with a result clause. Warn if implicitly typed. Verify the type
|
2572 |
|
|
and rank of the SHAPE argument, if given.
|
2573 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
|
2574 |
|
|
check the actual args against the formal, sorting them if
|
2575 |
|
|
necessary.
|
2576 |
|
|
* symbol.c (gen_shape_param): Initialize type of SHAPE param to
|
2577 |
|
|
BT_VOID.
|
2578 |
|
|
|
2579 |
|
|
2007-07-23 Christopher D. Rickett
|
2580 |
|
|
|
2581 |
|
|
PR fortran/32732
|
2582 |
|
|
* trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
|
2583 |
|
|
value character dummy args of BIND(C) procedures.
|
2584 |
|
|
* trans-expr.c (gfc_conv_variable): Do not build address
|
2585 |
|
|
expression for BT_CHARACTER dummy args.
|
2586 |
|
|
|
2587 |
|
|
2007-07-23 Christopher D. Rickett
|
2588 |
|
|
Tobias Burnus
|
2589 |
|
|
|
2590 |
|
|
PR fortran/32600
|
2591 |
|
|
* trans-expr.c (gfc_conv_function_call): Handle c_funloc.
|
2592 |
|
|
* trans-types.c: Add pfunc_type_node.
|
2593 |
|
|
(gfc_init_types,gfc_typenode_for_spec): Use it.
|
2594 |
|
|
* resolve.c (gfc_iso_c_func_interface): Fix whitespace and
|
2595 |
|
|
improve error message.
|
2596 |
|
|
|
2597 |
|
|
2007-07-22 Daniel Franke
|
2598 |
|
|
|
2599 |
|
|
PR fortran/32710
|
2600 |
|
|
* parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
|
2601 |
|
|
the current is a namelist.
|
2602 |
|
|
|
2603 |
|
|
2007-07-22 Daniel Franke
|
2604 |
|
|
|
2605 |
|
|
PR fortran/29962
|
2606 |
|
|
PR fortran/31253
|
2607 |
|
|
PR fortran/31265
|
2608 |
|
|
PR fortran/31639
|
2609 |
|
|
* gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
|
2610 |
|
|
generic, specific, actual_ok, noreturn into bits of a bitfield,
|
2611 |
|
|
added bits for inquiry, transformational, conversion.
|
2612 |
|
|
* check.c (non_init_transformational): Removed, removed all callers.
|
2613 |
|
|
* intrinsic.c (enum class): New.
|
2614 |
|
|
(add_sym*): Replaced argument elemetal by enum class. Changed all
|
2615 |
|
|
callers.
|
2616 |
|
|
(add_functions): Assign appropriate classes to intrinsic functions.
|
2617 |
|
|
(add_subroutines): Assign appropriate classes to intrinsic subroutines.
|
2618 |
|
|
(add_conv): Set conversion attribute.
|
2619 |
|
|
(gfc_init_expr_extensions): Removed, removed all callers.
|
2620 |
|
|
(gfc_intrinsic_func_interface): Reimplemented check for non-standard
|
2621 |
|
|
initializatione expressions.
|
2622 |
|
|
* expr.c (check_specification_function): New.
|
2623 |
|
|
(gfc_is_constant_expr): Added check for specification functions.
|
2624 |
|
|
(check_init_expr_arguments): New.
|
2625 |
|
|
(check_inquiry): Changed return value to MATCH, added checks for
|
2626 |
|
|
inquiry functions defined by F2003.
|
2627 |
|
|
(check_transformational): New.
|
2628 |
|
|
(check_null): New.
|
2629 |
|
|
(check_elemental): New.
|
2630 |
|
|
(check_conversion): New.
|
2631 |
|
|
(check_init_expr): Call new check functions, add more specific error
|
2632 |
|
|
messages.
|
2633 |
|
|
|
2634 |
|
|
2007-07-21 Christopher D. Rickett
|
2635 |
|
|
|
2636 |
|
|
PR fortran/32627
|
2637 |
|
|
* resolve.c (set_name_and_label): Set kind number for character
|
2638 |
|
|
version of c_f_pointer.
|
2639 |
|
|
(gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
|
2640 |
|
|
that of the actual SHAPE arg.
|
2641 |
|
|
* symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
|
2642 |
|
|
|
2643 |
|
|
2007-07-21 Christopher D. Rickett
|
2644 |
|
|
|
2645 |
|
|
PR fortran/32801
|
2646 |
|
|
* symbol.c (generate_isocbinding_symbol): Remove unnecessary
|
2647 |
|
|
conditional.
|
2648 |
|
|
|
2649 |
|
|
PR fortran/32804
|
2650 |
|
|
* resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
|
2651 |
|
|
deferred-shape arrays as args to C_LOC. Fix bug in testing
|
2652 |
|
|
character args to C_LOC.
|
2653 |
|
|
|
2654 |
|
|
2007-07-21 Lee Millward
|
2655 |
|
|
|
2656 |
|
|
PR fortran/32823
|
2657 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
|
2658 |
|
|
arguments passed, not just the first one. Adjust code to
|
2659 |
|
|
refer to "args[0]" instead of "arg" as a result.
|
2660 |
|
|
|
2661 |
|
|
2007-07-19 Christopher D. Rickett
|
2662 |
|
|
|
2663 |
|
|
PR fortran/32600
|
2664 |
|
|
* trans-expr.c (gfc_conv_function_call): Inline C_LOC.
|
2665 |
|
|
|
2666 |
|
|
2007-07-18 Christopher D. Rickett
|
2667 |
|
|
|
2668 |
|
|
PR fortran/32801
|
2669 |
|
|
* symbol.c (generate_isocbinding_symbol): Fix bug where
|
2670 |
|
|
ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
|
2671 |
|
|
ISOCBINDING_PTR.
|
2672 |
|
|
|
2673 |
|
|
2007-07-17 Janus Weil
|
2674 |
|
|
|
2675 |
|
|
PR fortran/32535
|
2676 |
|
|
* resolve.c (resolve_fl_namelist): Check for namelist private
|
2677 |
|
|
components in contained subprograms.
|
2678 |
|
|
|
2679 |
|
|
2007-07-17 Paul Thomas
|
2680 |
|
|
|
2681 |
|
|
PR fortran/31320
|
2682 |
|
|
PR fortran/32665
|
2683 |
|
|
* trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
|
2684 |
|
|
renormalization unity base is done independently of existing
|
2685 |
|
|
lbound value.
|
2686 |
|
|
(gfc_trans_scalar_assign): If rhs is not a variable, put
|
2687 |
|
|
lse->pre after rse->pre to ensure that de-allocation of lhs
|
2688 |
|
|
occurs after evaluation of rhs.
|
2689 |
|
|
|
2690 |
|
|
2007-07-16 Lee Millward
|
2691 |
|
|
|
2692 |
|
|
PR fortran/32222
|
2693 |
|
|
PR fortran/32238
|
2694 |
|
|
PR fortran/32242
|
2695 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
|
2696 |
|
|
to operate on a stack allocated array for the intrinsic arguments
|
2697 |
|
|
instead of creating a TREE_LIST. Add two new parameters for the
|
2698 |
|
|
array and the number of elements. Update all callers to allocate
|
2699 |
|
|
an array of the correct length to pass in. Update comment.
|
2700 |
|
|
(gfc_intrinsic_argument_list_length): New function.
|
2701 |
|
|
(gfc_conv_intrinsic_conversion): Call it.
|
2702 |
|
|
(gfc_conv_intrinsic_mnimax): Likewise.
|
2703 |
|
|
(gfc_conv_intrinsic_merge): Likewise.
|
2704 |
|
|
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
|
2705 |
|
|
constructors.
|
2706 |
|
|
(gfc_conv_intrinsic_cmplx): Likewise.
|
2707 |
|
|
(gfc_conv_intrinsic_ctime): Likewise.
|
2708 |
|
|
(gfc_covn_intrinsic_fdate): Likewise.
|
2709 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
2710 |
|
|
(gfc_conv_intrinsic_ishftc): Likewise.
|
2711 |
|
|
(gfc_conv_intrinsic_index): Likewise.
|
2712 |
|
|
(gfc_conv_intrinsic_scan): Likewise.
|
2713 |
|
|
(gfc_conv_intrinsic_verify): Likewise.
|
2714 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
2715 |
|
|
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
|
2716 |
|
|
(gfc_conv_intrinsic_exponent): Likewise.
|
2717 |
|
|
(gfc_conv_intrinsic_bound): Likewise.
|
2718 |
|
|
(gfc_conv_intrinsic_abs): Likewise.
|
2719 |
|
|
(gfc_conv_intrinsic_mod): Likewise.
|
2720 |
|
|
(gfc_conv_intrinsic_sign): Likewise.
|
2721 |
|
|
(gfc_conv_intrinsic_len): Likewise.
|
2722 |
|
|
(gfc_conv_intrinsic_adjust): Likewise.
|
2723 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
2724 |
|
|
|
2725 |
|
|
2007-07-16 Janne Blomqvist
|
2726 |
|
|
|
2727 |
|
|
PR fortran/32748
|
2728 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Remove
|
2729 |
|
|
DECL_IS_MALLOC attribute from internal_realloc, thus reverting
|
2730 |
|
|
part of my 2007-07-03 patch.
|
2731 |
|
|
|
2732 |
|
|
2007-07-15 Jerry DeLisle
|
2733 |
|
|
Francois-Xavier Coudert
|
2734 |
|
|
|
2735 |
|
|
PR fortran/32611
|
2736 |
|
|
* gfortran.h (gfc_option_t): Add flag_sign_zero field.
|
2737 |
|
|
* lang.opt (-fsign-zero): New option.
|
2738 |
|
|
* trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
|
2739 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Build the function
|
2740 |
|
|
declaration to pass an array containing the options to be used by the
|
2741 |
|
|
runtime library. (gfc_generate_function_code): Build an array that
|
2742 |
|
|
contains option values to be passed to the runtime library and the call
|
2743 |
|
|
to the function.
|
2744 |
|
|
* options.c (gfc_init_options): Initialize the flag_sign_zero field.
|
2745 |
|
|
(gfc_handle_option): Handle the -fsign-zero option.
|
2746 |
|
|
|
2747 |
|
|
2007-07-15 Francois-Xavier Coudert
|
2748 |
|
|
|
2749 |
|
|
PR fortran/32036
|
2750 |
|
|
* trans-array.c (gfc_conv_array_ref): Only evaluate index once.
|
2751 |
|
|
|
2752 |
|
|
2007-07-15 Francois-Xavier Coudert
|
2753 |
|
|
|
2754 |
|
|
PR fortran/32357
|
2755 |
|
|
* iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
|
2756 |
|
|
to C int.
|
2757 |
|
|
|
2758 |
|
|
2007-07-14 Thomas Koenig
|
2759 |
|
|
|
2760 |
|
|
PR libfortran/32731
|
2761 |
|
|
* iresolve.c(gfc_resolve_pack): A scalar mask has
|
2762 |
|
|
to be kind=4, an array mask with kind<4 is converted
|
2763 |
|
|
to gfc_default_logical_kind automatically.
|
2764 |
|
|
(gfc_resolve_unpack): Convert mask to gfc_default_lotical_kind
|
2765 |
|
|
if it has a kind<4.
|
2766 |
|
|
|
2767 |
|
|
2007-07-14 Paul Thomas
|
2768 |
|
|
|
2769 |
|
|
PR fortran/32724
|
2770 |
|
|
* parse.c (parse_spec): Emit error on unexpected statement
|
2771 |
|
|
function.
|
2772 |
|
|
|
2773 |
|
|
2007-07-13 Daniel Franke
|
2774 |
|
|
|
2775 |
|
|
* invoke.texi: Unified upper- and lower-case in menus.
|
2776 |
|
|
(-w, -W): Removed, documented by gcc.
|
2777 |
|
|
* intrinsic.texi: Unified Class-section entries, added
|
2778 |
|
|
subroutine/function warning where appropiate.
|
2779 |
|
|
|
2780 |
|
|
2007-07-12 Daniel Franke
|
2781 |
|
|
|
2782 |
|
|
PR fortran/31639
|
2783 |
|
|
* decl.c (gfc_match_suffix): Removed surplus general error that hides
|
2784 |
|
|
a more specific message.
|
2785 |
|
|
* resolve.c (resolve_fl_variable): Reject illegal initializiers only
|
2786 |
|
|
if not already done.
|
2787 |
|
|
(resolve_fl_procedure): Added check for initializers of functions.
|
2788 |
|
|
|
2789 |
|
|
2007-07-12 Daniel Franke
|
2790 |
|
|
|
2791 |
|
|
PR fortran/32704
|
2792 |
|
|
* invoke.texi (-static-libgfortran): Document new option.
|
2793 |
|
|
|
2794 |
|
|
2007-07-12 Paul Thomas
|
2795 |
|
|
|
2796 |
|
|
PR fortran/32634
|
2797 |
|
|
PR fortran/32727
|
2798 |
|
|
* module.c (write_generic): Restore patch of 2007-07-10 and use
|
2799 |
|
|
symbol name if there are no use names.
|
2800 |
|
|
|
2801 |
|
|
2007-07-12 Christopher D. Rickett
|
2802 |
|
|
|
2803 |
|
|
PR fortran/32599
|
2804 |
|
|
* decl.c (verify_c_interop_param): Require character string dummy
|
2805 |
|
|
args to BIND(C) procedures to have length 1.
|
2806 |
|
|
* resolve.c (resolve_fl_procedure): Modify parameter checking for
|
2807 |
|
|
BIND(C) procedures.
|
2808 |
|
|
|
2809 |
|
|
PR fortran/32601
|
2810 |
|
|
* resolve.c (gfc_iso_c_func_interface): Verify that a valid
|
2811 |
|
|
expression is given as an argument to C_LOC and C_ASSOCIATED.
|
2812 |
|
|
* trans-io.c (transfer_expr): Add argument for code block. Add
|
2813 |
|
|
standards check to determine if an error message should be
|
2814 |
|
|
reported for printing C_PTR or C_FUNPTR.
|
2815 |
|
|
(transfer_array_component): Update arguments to transfer_expr.
|
2816 |
|
|
(gfc_trans_transfer): Ditto.
|
2817 |
|
|
|
2818 |
|
|
* symbol.c (gen_cptr_param): Fix whitespace.
|
2819 |
|
|
|
2820 |
|
|
2007-07-12 Jakub Jelinek
|
2821 |
|
|
|
2822 |
|
|
PR fortran/32550
|
2823 |
|
|
* trans.h (GFC_POINTER_TYPE_P): Define.
|
2824 |
|
|
* trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
|
2825 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
|
2826 |
|
|
if GFC_POINTER_TYPE_P is set on the type.
|
2827 |
|
|
|
2828 |
|
|
2007-07-12 Richard Guenther
|
2829 |
|
|
|
2830 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
|
2831 |
|
|
arguments to gfc_charlen_type_node.
|
2832 |
|
|
* trans-io.c (gfc_convert_array_to_string): Convert type
|
2833 |
|
|
size to gfc_array_index_type.
|
2834 |
|
|
|
2835 |
|
|
2007-07-12 Daniel Franke
|
2836 |
|
|
|
2837 |
|
|
PR fortran/32634
|
2838 |
|
|
PR fortran/32727
|
2839 |
|
|
* module.c: Reverted Paul's patch from 2007-07-10.
|
2840 |
|
|
|
2841 |
|
|
2007-07-11 Richard Guenther
|
2842 |
|
|
|
2843 |
|
|
* trans-array.c (gfc_conv_array_parameter): Use correct
|
2844 |
|
|
types for comparison.
|
2845 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
|
2846 |
|
|
correct types for POINTER_PLUS_EXPR.
|
2847 |
|
|
* trans-stmt.c (gfc_trans_forall_loop): Use correct type
|
2848 |
|
|
for integer one constant.
|
2849 |
|
|
|
2850 |
|
|
2007-07-10 Paul Thomas
|
2851 |
|
|
|
2852 |
|
|
PR fortran/32157
|
2853 |
|
|
* resolve.c (is_external_proc): New function. Adds test that
|
2854 |
|
|
the symbol is not an intrinsic procedure.
|
2855 |
|
|
* (resolve_function, resolve_call): Replace logical statements
|
2856 |
|
|
with call to is_external_proc.
|
2857 |
|
|
|
2858 |
|
|
PR fortran/32689
|
2859 |
|
|
* simplify.c (gfc_simplify_transfer): If mold has rank, the
|
2860 |
|
|
result is an array.
|
2861 |
|
|
|
2862 |
|
|
PR fortran/32634
|
2863 |
|
|
* module.c (write_generic): Write the local name of the
|
2864 |
|
|
interface.
|
2865 |
|
|
|
2866 |
|
|
2007-07-09 Francois-Xavier Coudert
|
2867 |
|
|
|
2868 |
|
|
PR fortran/29459
|
2869 |
|
|
* trans-array.c (gfc_trans_array_constructor): Mark offset field
|
2870 |
|
|
with TREE_NO_WARNING.
|
2871 |
|
|
* trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
|
2872 |
|
|
stride and size variables with TREE_NO_WARNING.
|
2873 |
|
|
|
2874 |
|
|
2007-07-09 Steven G. Kargl
|
2875 |
|
|
|
2876 |
|
|
* trans-decl.c (set_tree_decl_type_code): Remove function.
|
2877 |
|
|
(generate_local_decl): Remove reference to set_tree_decl_type_code.
|
2878 |
|
|
|
2879 |
|
|
2007-07-09 Daniel Franke
|
2880 |
|
|
|
2881 |
|
|
PR fortran/31129
|
2882 |
|
|
* trans-decl.c (generate_local_decl) Emit a warning if an unused
|
2883 |
|
|
parameter is found.
|
2884 |
|
|
|
2885 |
|
|
2007-07-08 Daniel Franke
|
2886 |
|
|
|
2887 |
|
|
PR fortran/29876
|
2888 |
|
|
* module.c (gfc_match_use): Do not set an non-existant
|
2889 |
|
|
intrinsic operator if a user-defined operator is found.
|
2890 |
|
|
|
2891 |
|
|
2007-07-08 Daniel Franke
|
2892 |
|
|
|
2893 |
|
|
PR fortran/24784
|
2894 |
|
|
PR fortran/28004
|
2895 |
|
|
* trans-decl.c (generate_local_decl): Adjusted warning on unused
|
2896 |
|
|
dummy arguments, tell middle-end not to emit additional warnings.
|
2897 |
|
|
|
2898 |
|
|
2007-07-08 Daniel Franke
|
2899 |
|
|
Tobias Schlüter
|
2900 |
|
|
|
2901 |
|
|
PR fortran/17711
|
2902 |
|
|
* gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
|
2903 |
|
|
INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS,
|
2904 |
|
|
INTRINSIC_LT_OS and INTRINSIC_LE_OS.
|
2905 |
|
|
* arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
|
2906 |
|
|
* arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
|
2907 |
|
|
Added gfc_intrinsic_op as third argument type.
|
2908 |
|
|
* dump-parse-tree.c (gfc_show_expr): Account for new enum values.
|
2909 |
|
|
* expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
|
2910 |
|
|
* interface.c (check_operator_interface): Likewise.
|
2911 |
|
|
(gfc_check_interfaces): Added cross-checks for FORTRAN 77 and
|
2912 |
|
|
Fortran 90 style operators using new enum values.
|
2913 |
|
|
(gfc_extend_expr): Likewise.
|
2914 |
|
|
(gfc_add_interface): Likewise.
|
2915 |
|
|
* match.c (intrinsic_operators): Distinguish FORTRAN 77 style
|
2916 |
|
|
operators from Fortran 90 style operators using new enum values.
|
2917 |
|
|
* matchexp.c (match_level_4): Account for new enum values.
|
2918 |
|
|
* module.c (mio_expr): Likewise.
|
2919 |
|
|
* resolve.c (resolve_operator): Deal with new enum values, fix
|
2920 |
|
|
inconsistent error messages.
|
2921 |
|
|
* trans-expr.c (gfc_conv_expr_op): Account for new enum values.
|
2922 |
|
|
|
2923 |
|
|
2007-07-08 Tobias Burnus
|
2924 |
|
|
|
2925 |
|
|
PR fortran/32669
|
2926 |
|
|
* interface.c (get_expr_storage_size): Properly obtain lower bound.
|
2927 |
|
|
(compare_actual_formal): Add space before parenthesis.
|
2928 |
|
|
|
2929 |
|
|
2007-07-08 Daniel Franke
|
2930 |
|
|
|
2931 |
|
|
PR fortran/25094
|
2932 |
|
|
* resolve.c (resolve_fl_procedure): Added check for PRIVATE types
|
2933 |
|
|
in PUBLIC interfaces.
|
2934 |
|
|
|
2935 |
|
|
2007-07-07 Jerry DeLisle
|
2936 |
|
|
|
2937 |
|
|
PR fortran/32644
|
2938 |
|
|
* decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
|
2939 |
|
|
gfc_match_bind_c does not return MATCH_YES.
|
2940 |
|
|
|
2941 |
|
|
2007-07-07 Kazu Hirata
|
2942 |
|
|
|
2943 |
|
|
* decl.c, gfortran.h, interface.c, module.c, resolve.c,
|
2944 |
|
|
trans-array.c, trans-decl.c: Fix comment typos. Follow
|
2945 |
|
|
spelling conventions.
|
2946 |
|
|
* intrinsic.texi: Fix typos. Follow spelling conventions.
|
2947 |
|
|
|
2948 |
|
|
2007-05-06 Daniel Franke
|
2949 |
|
|
|
2950 |
|
|
PR fortran/32633
|
2951 |
|
|
* symbol.c (save_status): New.
|
2952 |
|
|
* gfortran.h (save_status): Added external declaration.
|
2953 |
|
|
(check_conflict): Check for conflicting explicite SAVE statements
|
2954 |
|
|
only.
|
2955 |
|
|
(gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
|
2956 |
|
|
* module.c (ab_attribute, attr_bits): Removed enumerator value
|
2957 |
|
|
AB_SAVE for save attribute.
|
2958 |
|
|
(mio_symbol_attribute): Import/export the full SAVE status,
|
2959 |
|
|
removed usage of AB_SAVE.
|
2960 |
|
|
* dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
|
2961 |
|
|
* decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
|
2962 |
|
|
already explicit.
|
2963 |
|
|
|
2964 |
|
|
2007-07-05 Daniel Franke
|
2965 |
|
|
Tobias Burnus
|
2966 |
|
|
|
2967 |
|
|
PR fortran/32359
|
2968 |
|
|
* gfortran.h (symbol_attribute): Change save attribute into an enum.
|
2969 |
|
|
* decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
|
2970 |
|
|
* symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
|
2971 |
|
|
* resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
|
2972 |
|
|
(resolve_symbol): Allow OMP threadprivate with
|
2973 |
|
|
initialization SAVEd and save_all variable.
|
2974 |
|
|
* trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
|
2975 |
|
|
|
2976 |
|
|
2007-07-05 Paul Thomas
|
2977 |
|
|
|
2978 |
|
|
PR fortran/32526
|
2979 |
|
|
* match.c (gfc_match_call): Check, in all cases, that a symbol
|
2980 |
|
|
is neither generic nor a subroutine before trying to add it as
|
2981 |
|
|
a subroutine.
|
2982 |
|
|
|
2983 |
|
|
PR fortran/32613
|
2984 |
|
|
* match.c (gfc_match_do): Reset the implied_index attribute.
|
2985 |
|
|
|
2986 |
|
|
2007-07-04 Francois-Xavier Coudert
|
2987 |
|
|
|
2988 |
|
|
PR fortran/31198
|
2989 |
|
|
* trans-intrinsic.c (trans-intrinsic.c): Handle optional
|
2990 |
|
|
arguments correctly for MIN and MAX intrinsics.
|
2991 |
|
|
|
2992 |
|
|
2007-07-03 Jerry DeLisle
|
2993 |
|
|
|
2994 |
|
|
PR fortran/32545
|
2995 |
|
|
* io.c (check_format): Always call gfc_error for errors.
|
2996 |
|
|
(check_format_string): Change type of this function to try and
|
2997 |
|
|
return the result of check_format.
|
2998 |
|
|
(check_io_constraints): Return MATCH_ERROR if check_format_string
|
2999 |
|
|
returns FAILURE.
|
3000 |
|
|
|
3001 |
|
|
2007-07-03 Jerry DeLisle
|
3002 |
|
|
|
3003 |
|
|
PR fortran/32612
|
3004 |
|
|
* decl.c (get_proc_name): Include attr->mod_proc in check for error.
|
3005 |
|
|
|
3006 |
|
|
2007-07-03 Jerry DeLisle
|
3007 |
|
|
|
3008 |
|
|
PR fortran/32432
|
3009 |
|
|
* gfortran.h: Change type of gfc_assign_data_value from void to try.
|
3010 |
|
|
* data.c (gfc_assign_data_value): Return FAILURE if error found.
|
3011 |
|
|
* resolve.c (check_data_variable): If gfc_assign_data_value returns
|
3012 |
|
|
failure, break out of loop and return failure.
|
3013 |
|
|
|
3014 |
|
|
2007-07-03 Christopher D. Rickett
|
3015 |
|
|
|
3016 |
|
|
PR fortran/32579
|
3017 |
|
|
* symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
|
3018 |
|
|
(build_formal_args): Pass intrinsic module symbol id to
|
3019 |
|
|
gen_cptr_param.
|
3020 |
|
|
|
3021 |
|
|
2007-07-03 Tobias Burnus
|
3022 |
|
|
|
3023 |
|
|
PR fortran/25062
|
3024 |
|
|
* resolve.c (resolve_common_blocks): New check function.
|
3025 |
|
|
(resolve_types): Use it.
|
3026 |
|
|
|
3027 |
|
|
2007-07-03 Tobias Burnus
|
3028 |
|
|
|
3029 |
|
|
PR fortran/30940
|
3030 |
|
|
* interface.c (get_sym_storage_size): New function.
|
3031 |
|
|
(get_sym_storage_size): New function.
|
3032 |
|
|
(compare_actual_formal): Enhance sequence association
|
3033 |
|
|
support and improve checking.
|
3034 |
|
|
|
3035 |
|
|
2007-07-03 Janne Blomqvist
|
3036 |
|
|
|
3037 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Mark
|
3038 |
|
|
internal_realloc as a malloc function.
|
3039 |
|
|
|
3040 |
|
|
2007-07-03 Tobias Burnus
|
3041 |
|
|
|
3042 |
|
|
PR fortran/20888
|
3043 |
|
|
* resolve.c (resolve_operator): Check for NULL as operand.
|
3044 |
|
|
|
3045 |
|
|
2007-07-02 Tobias Burnus
|
3046 |
|
|
|
3047 |
|
|
* gfortran.texi (Fortran 2003): Add ISO Bind C.
|
3048 |
|
|
* intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
|
3049 |
|
|
C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
|
3050 |
|
|
|
3051 |
|
|
2007-07-01 Christopher D. Rickett
|
3052 |
|
|
|
3053 |
|
|
* interface.c (gfc_compare_derived_types): Special case for comparing
|
3054 |
|
|
derived types across namespaces.
|
3055 |
|
|
(gfc_compare_types): Deal with BT_VOID.
|
3056 |
|
|
(compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
|
3057 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
|
3058 |
|
|
to SCALAR
|
3059 |
|
|
(gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and
|
3060 |
|
|
NULL_FUNPTR.
|
3061 |
|
|
(gfc_conv_expr): Convert expressions for ISO C Binding derived types.
|
3062 |
|
|
* symbol.c (gfc_set_default_type): BIND(C) variables should not be
|
3063 |
|
|
Implicitly declared.
|
3064 |
|
|
(check_conflict): Add BIND(C) and check for conflicts.
|
3065 |
|
|
(gfc_add_explicit_interface): Whitespace.
|
3066 |
|
|
(gfc_add_is_bind_c): New function.
|
3067 |
|
|
(gfc_copy_attr): Use it.
|
3068 |
|
|
(gfc_new_symbol): Initialize ISO C Binding objects.
|
3069 |
|
|
(get_iso_c_binding_dt): New function.
|
3070 |
|
|
(verify_bind_c_derived_type): Ditto.
|
3071 |
|
|
(gen_special_c_interop_ptr): Ditto.
|
3072 |
|
|
(add_formal_arg): Ditto.
|
3073 |
|
|
(gen_cptr_param): Ditto.
|
3074 |
|
|
(gen_fptr_param): Ditto.
|
3075 |
|
|
(gen_shape_param): Ditto.
|
3076 |
|
|
(add_proc_interface): Ditto.
|
3077 |
|
|
(build_formal_args): Ditto.
|
3078 |
|
|
(generate_isocbinding_symbol): Ditto.
|
3079 |
|
|
(get_iso_c_sym): Ditto.
|
3080 |
|
|
* decl.c (num_idents_on_line, has_name_equals): New variables.
|
3081 |
|
|
(verify_c_interop_param): New function.
|
3082 |
|
|
(build_sym): Finish binding labels and deal with COMMON blocks.
|
3083 |
|
|
(add_init_expr_to_sym): Check if the initialized expression is
|
3084 |
|
|
an iso_c_binding named constants
|
3085 |
|
|
(variable_decl): Set ISO C Binding type_spec components.
|
3086 |
|
|
(gfc_match_kind_spec): Check match for C interoperable kind.
|
3087 |
|
|
(match_char_spec): Fix comment. Chnage gfc_match_small_int
|
3088 |
|
|
to gfc_match_small_int_expr. Check for C interoperable kind.
|
3089 |
|
|
(match_type_spec): Clear the current binding label.
|
3090 |
|
|
(match_attr_spec): Add DECL_IS_BIND_C. If BIND(C) is found, use it
|
3091 |
|
|
to set attributes.
|
3092 |
|
|
(set_binding_label): New function.
|
3093 |
|
|
(set_com_block_bind_c): Ditto.
|
3094 |
|
|
(verify_c_interop): Ditto.
|
3095 |
|
|
(verify_com_block_vars_c_interop): Ditto.
|
3096 |
|
|
(verify_bind_c_sym): Ditto.
|
3097 |
|
|
(set_verify_bind_c_sym): Ditto.
|
3098 |
|
|
(set_verify_bind_c_com_block): Ditto.
|
3099 |
|
|
(get_bind_c_idents): Ditto.
|
3100 |
|
|
(gfc_match_bind_c_stmt): Ditto.
|
3101 |
|
|
(gfc_match_data_decl): Use num_idents_on_line.
|
3102 |
|
|
(match_result): Deal with right paren in BIND(C).
|
3103 |
|
|
(gfc_match_suffix): New function.
|
3104 |
|
|
(gfc_match_function_decl): Use it. Code is re-arranged to deal with
|
3105 |
|
|
ISO C Binding result clauses.
|
3106 |
|
|
(gfc_match_subroutine): Deal with BIND(C).
|
3107 |
|
|
(gfc_match_bind_c): New function.
|
3108 |
|
|
(gfc_get_type_attr_spec): New function. Code is re-arranged in and
|
3109 |
|
|
taken from gfc_match_derived_decl.
|
3110 |
|
|
(gfc_match_derived_decl): Add check for BIND(C).
|
3111 |
|
|
* trans-common.c: Forward declare gfc_get_common.
|
3112 |
|
|
(gfc_sym_mangled_common_id): Change arg from 'const char *name' to
|
3113 |
|
|
'gfc_common_head *com'. Check for ISO C Binding of the common block.
|
3114 |
|
|
(build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
|
3115 |
|
|
* gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
|
3116 |
|
|
(bt): Add BT_VOID
|
3117 |
|
|
(sym_flavor): Add FL_VOID.
|
3118 |
|
|
(iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
|
3119 |
|
|
(CInteropKind_t): New struct.
|
3120 |
|
|
(c_interop_kinds_table): Use it. Declare an array of structs.
|
3121 |
|
|
(symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
|
3122 |
|
|
bitfields.
|
3123 |
|
|
(gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
|
3124 |
|
|
(gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
|
3125 |
|
|
common_block members.
|
3126 |
|
|
(gfc_common_head): Add binding_label and is_bind_c members.
|
3127 |
|
|
(gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
|
3128 |
|
|
Add prototypes for get_c_kind, gfc_validate_c_kind,
|
3129 |
|
|
gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
|
3130 |
|
|
verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
|
3131 |
|
|
verify_bind_c_derived_type, verify_com_block_vars_c_interop,
|
3132 |
|
|
generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
|
3133 |
|
|
* iso-c-binding.def: New file. This file contains the definitions
|
3134 |
|
|
of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
|
3135 |
|
|
module.
|
3136 |
|
|
* trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
|
3137 |
|
|
or C_NULL_FUNPTR expressions.
|
3138 |
|
|
* expr.c (gfc_copy_expr): Add BT_VOID case. For BT_CHARACTER, the
|
3139 |
|
|
ISO C Binding requires a minimum string length of 1 for '\0'.
|
3140 |
|
|
* module.c (intmod_sym): New struct.
|
3141 |
|
|
(pointer_info): Add binding_label member.
|
3142 |
|
|
(write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
|
3143 |
|
|
(ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
|
3144 |
|
|
(attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
|
3145 |
|
|
(mio_symbol_attribute): Deal with ISO C Binding attributes.
|
3146 |
|
|
(bt_types): Add "VOID".
|
3147 |
|
|
(mio_typespec): Deal with ISO C Binding components.
|
3148 |
|
|
(mio_namespace_ref): Add intmod variable.
|
3149 |
|
|
(mio_symbol): Check for symbols from an intrinsic module.
|
3150 |
|
|
(load_commons): Check for BIND(C) common block.
|
3151 |
|
|
(read_module): Read binding_label and use it.
|
3152 |
|
|
(write_common): Add label. Write BIND(C) info.
|
3153 |
|
|
(write_blank_common): Blank commons are not BIND(C). Explicitly
|
3154 |
|
|
set is_bind_c=0.
|
3155 |
|
|
(write_symbol): Deal with binding_label.
|
3156 |
|
|
(sort_iso_c_rename_list): New function.
|
3157 |
|
|
(import_iso_c_binding_module): Ditto.
|
3158 |
|
|
(create_int_parameter): Add to args.
|
3159 |
|
|
(use_iso_fortran_env_module): Adjust to deal with iso_c_binding
|
3160 |
|
|
intrinsic module.
|
3161 |
|
|
* trans-types.c (c_interop_kinds_table): new array of structs.
|
3162 |
|
|
(gfc_validate_c_kind): New function.
|
3163 |
|
|
(gfc_check_any_c_kind): Ditto.
|
3164 |
|
|
(get_real_kind_from_node): Ditto.
|
3165 |
|
|
(get_int_kind_from_node): Ditto.
|
3166 |
|
|
(get_int_kind_from_width): Ditto.
|
3167 |
|
|
(get_int_kind_from_minimal_width): Ditto.
|
3168 |
|
|
(init_c_interop_kinds): Ditto.
|
3169 |
|
|
(gfc_init_kinds): call init_c_interop_kinds.
|
3170 |
|
|
(gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
|
3171 |
|
|
Adjust handling of BT_DERIVED.
|
3172 |
|
|
(gfc_sym_type): Whitespace.
|
3173 |
|
|
(gfc_get_derived_type): Account for iso_c_binding derived types
|
3174 |
|
|
* resolve.c (is_scalar_expr_ptr): New function.
|
3175 |
|
|
(gfc_iso_c_func_interface): Ditto.
|
3176 |
|
|
(resolve_function): Use gfc_iso_c_func_interface.
|
3177 |
|
|
(set_name_and_label): New function.
|
3178 |
|
|
(gfc_iso_c_sub_interface): Ditto.
|
3179 |
|
|
(resolve_specific_s0): Use gfc_iso_c_sub_interface.
|
3180 |
|
|
(resolve_bind_c_comms): New function.
|
3181 |
|
|
(resolve_bind_c_derived_types): Ditto.
|
3182 |
|
|
(gfc_verify_binding_labels): Ditto.
|
3183 |
|
|
(resolve_fl_procedure): Check for ISO C interoperability.
|
3184 |
|
|
(resolve_symbol): Check C interoperability.
|
3185 |
|
|
(resolve_types): Walk the namespace. Check COMMON blocks.
|
3186 |
|
|
* trans-decl.c (gfc_sym_mangled_identifier): Prevent the mangling
|
3187 |
|
|
of identifiers that have an assigned binding label.
|
3188 |
|
|
(gfc_sym_mangled_function_id): Use the binding label rather than
|
3189 |
|
|
the mangled name.
|
3190 |
|
|
(gfc_finish_var_decl): Put variables that are BIND(C) into a common
|
3191 |
|
|
segment of the object file, because this is what C would do.
|
3192 |
|
|
(gfc_create_module_variable): Conver to proper types
|
3193 |
|
|
(set_tree_decl_type_code): New function.
|
3194 |
|
|
(generate_local_decl): Check dummy variables and derived types for
|
3195 |
|
|
ISO C Binding attributes.
|
3196 |
|
|
* match.c (gfc_match_small_int_expr): New function.
|
3197 |
|
|
(gfc_match_name_C): Ditto.
|
3198 |
|
|
(match_common_name): Deal with ISO C Binding in COMMON blocks
|
3199 |
|
|
* trans-io.c (transfer_expr): Deal with C_NULL_PTR or C_NULL_FUNPTR
|
3200 |
|
|
expressions
|
3201 |
|
|
* match.h: Add prototypes for gfc_match_small_int_expr,
|
3202 |
|
|
gfc_match_name_C, match_common_name, set_com_block_bind_c,
|
3203 |
|
|
set_binding_label, set_verify_bind_c_sym,
|
3204 |
|
|
set_verify_bind_c_com_block, get_bind_c_idents,
|
3205 |
|
|
gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
|
3206 |
|
|
gfc_get_type_attr_spec
|
3207 |
|
|
* parse.c (decode_statement): Use gfc_match_bind_c_stmt
|
3208 |
|
|
(parse_derived): Init *derived_sym = NULL, and gfc_current_block
|
3209 |
|
|
later for valiadation.
|
3210 |
|
|
* primary.c (got_delim): Set ISO C Binding components of ts.
|
3211 |
|
|
(match_logical_constant): Ditto.
|
3212 |
|
|
(match_complex_constant): Ditto.
|
3213 |
|
|
(match_complex_constant): Ditto.
|
3214 |
|
|
(gfc_match_rvalue): Check for existence of at least one arg for
|
3215 |
|
|
C_LOC, C_FUNLOC, and C_ASSOCIATED.
|
3216 |
|
|
* misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
|
3217 |
|
|
(get_c_kind): New function.
|
3218 |
|
|
|
3219 |
|
|
2007-07-01 Janne Blomqvist
|
3220 |
|
|
|
3221 |
|
|
PR fortran/32239
|
3222 |
|
|
* trans-expr.c (gfc_conv_power_op): Use builtin_powi for
|
3223 |
|
|
real**int4 powers.
|
3224 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
|
3225 |
|
|
builtins table.
|
3226 |
|
|
|
3227 |
|
|
2007-07-01 Janne Blomqvist
|
3228 |
|
|
|
3229 |
|
|
* trans.h: Remove decls for 64-bit allocation functions.
|
3230 |
|
|
* trans-array.c (gfc_grow_array): Always pick the standard realloc
|
3231 |
|
|
function decl.
|
3232 |
|
|
(gfc_array_allocate): Likewise.
|
3233 |
|
|
* trans-decl.c: Remove trees for 64-bit allocation functions.
|
3234 |
|
|
(gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
|
3235 |
|
|
allocations functions, use index_int_type for normal allocation
|
3236 |
|
|
functions.
|
3237 |
|
|
|
3238 |
|
|
2007-06-30 Daniel Franke
|
3239 |
|
|
|
3240 |
|
|
PR fortran/20373
|
3241 |
|
|
* intrinsic.c (add_functions): Additional function types.
|
3242 |
|
|
(gfc_convert_type_warn): Remove intrinsic-flag from
|
3243 |
|
|
conversion functions.
|
3244 |
|
|
* resolve.c (resolve_symbol): Added type checks to
|
3245 |
|
|
explicitly defined intrinsics.
|
3246 |
|
|
|
3247 |
|
|
2007-06-30 Tobias Burnus
|
3248 |
|
|
|
3249 |
|
|
PR fortran/32555
|
3250 |
|
|
* io.c (check_format): Allow zero to precede the
|
3251 |
|
|
P edit descriptor.
|
3252 |
|
|
|
3253 |
|
|
2007-06-30 Paul Thomas
|
3254 |
|
|
|
3255 |
|
|
PR fortran/32472
|
3256 |
|
|
* simplify.c (gfc_simplify_repeat): Add handling of character
|
3257 |
|
|
literal for first argument.
|
3258 |
|
|
|
3259 |
|
|
2007-06-29 Daniel Franke
|
3260 |
|
|
|
3261 |
|
|
* resolve.c (resolve_operator): Added check whether a user
|
3262 |
|
|
defined operator is available.
|
3263 |
|
|
|
3264 |
|
|
2007-06-29 Daniel Franke
|
3265 |
|
|
|
3266 |
|
|
* openmp.c (resolve_omp_clauses): Adjust error message to
|
3267 |
|
|
better reflect the actual requirement.
|
3268 |
|
|
|
3269 |
|
|
2007-06-29 Tobias Burnus
|
3270 |
|
|
|
3271 |
|
|
PR fortran/32483
|
3272 |
|
|
* io.c (format_lex): Fix FMT_ZERO.
|
3273 |
|
|
(check_format,check_format_string,gfc_match_format,
|
3274 |
|
|
check_io_constraints) Additional checking for READ.
|
3275 |
|
|
|
3276 |
|
|
2007-06-28 Francois-Xavier Coudert
|
3277 |
|
|
|
3278 |
|
|
PR other/31400
|
3279 |
|
|
* lang.opt (static-libgfortran): New option.
|
3280 |
|
|
* gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
|
3281 |
|
|
(Option): Add OPTION_static and OPTION_static_libgfortran.
|
3282 |
|
|
(lookup_option): Handle the new -static-libgfortran option.
|
3283 |
|
|
(lang_specific_driver): Check whether -static is passed.
|
3284 |
|
|
Handle the new -static-libgfortran option.
|
3285 |
|
|
* options.c (gfc_handle_option): If -static-libgfortran is
|
3286 |
|
|
passed and isn't supported on this configuration, error out.
|
3287 |
|
|
|
3288 |
|
|
2007-06-27 Daniel Franke
|
3289 |
|
|
|
3290 |
|
|
PR fortran/32467
|
3291 |
|
|
* openmp.c (resolve_omp_clauses): Emit error on allocatable
|
3292 |
|
|
components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
|
3293 |
|
|
clauses.
|
3294 |
|
|
|
3295 |
|
|
2007-06-25 Paul Thomas
|
3296 |
|
|
|
3297 |
|
|
PR fortran/32464
|
3298 |
|
|
* resolve.c (check_host_association): Return if the old symbol
|
3299 |
|
|
is use associated. Introduce retval to reduce the number of
|
3300 |
|
|
evaluations of the first-order return value.
|
3301 |
|
|
|
3302 |
|
|
PR fortran/31494
|
3303 |
|
|
* match.c (gfc_match_call): If a host associated symbol is not
|
3304 |
|
|
a subroutine, build a new symtree/symbol in the current name
|
3305 |
|
|
space.
|
3306 |
|
|
|
3307 |
|
|
2007-06-24 Tobias Burnus
|
3308 |
|
|
|
3309 |
|
|
PR fortran/32460
|
3310 |
|
|
* interface.c (gfc_compare_derived_types): Add access check.
|
3311 |
|
|
* symbol.c (gfc_find_component): Ditto.
|
3312 |
|
|
(gfc_set_component_attr,gfc_get_component_attr) Copy access state.
|
3313 |
|
|
* dump-parse-tree.c (gfc_show_components): Dump access state.
|
3314 |
|
|
* gfortran.h (struct gfc_component): Add gfc_access.
|
3315 |
|
|
* module.c (mio_component): Add access state.
|
3316 |
|
|
* (gfc_match_structure_constructor): Check for private access state.
|
3317 |
|
|
|
3318 |
|
|
2007-06-24 Paul Thomas
|
3319 |
|
|
|
3320 |
|
|
PR fortran/32298
|
3321 |
|
|
PR fortran/31726
|
3322 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
|
3323 |
|
|
the offset between the loop counter and the position as
|
3324 |
|
|
defined. Add the offset within the loop so that the mask acts
|
3325 |
|
|
correctly. Do not advance the location on the basis that it
|
3326 |
|
|
is zero.
|
3327 |
|
|
|
3328 |
|
|
2007-06-22 Daniel Franke
|
3329 |
|
|
|
3330 |
|
|
PR fortran/31473
|
3331 |
|
|
* symbol.c (gfc_copy_attr): Emit errors for duplicate
|
3332 |
|
|
EXTERNAL/INTRINSIC statements.
|
3333 |
|
|
|
3334 |
|
|
2007-06-22 Jerry DeLisle
|
3335 |
|
|
|
3336 |
|
|
PR fortran/32360
|
3337 |
|
|
* expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
|
3338 |
|
|
check to see if the lvalue has attribute pointer and data.
|
3339 |
|
|
|
3340 |
|
|
2007-06-21 Jerry DeLisle
|
3341 |
|
|
|
3342 |
|
|
PR fortran/31162
|
3343 |
|
|
* resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
|
3344 |
|
|
gfc_notify_standard. (gfc_resolve_iterator): Remove check.
|
3345 |
|
|
(resolve_branch): Change "Obsolete" to "Deleted feature".
|
3346 |
|
|
* io.c (resolve_tag): Ditto.
|
3347 |
|
|
* match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
|
3348 |
|
|
|
3349 |
|
|
2007-06-20 Jerry DeLisle
|
3350 |
|
|
|
3351 |
|
|
PR fortran/32361
|
3352 |
|
|
* match.c (gfc_match_common): If the symbol value expression type is
|
3353 |
|
|
NULL_EXPR, don't error if previously initialized.
|
3354 |
|
|
|
3355 |
|
|
2007-06-20 Jerry DeLisle
|
3356 |
|
|
|
3357 |
|
|
PR fortran/25061
|
3358 |
|
|
* decl.c (get_proc_name) Check symbol for generic interface
|
3359 |
|
|
and issue an error.
|
3360 |
|
|
|
3361 |
|
|
2007-06-20 Andrew Pinski
|
3362 |
|
|
Richard Guenther
|
3363 |
|
|
|
3364 |
|
|
PR fortran/32140
|
3365 |
|
|
* trans.c (gfc_build_addr_expr): Use the correct types.
|
3366 |
|
|
|
3367 |
|
|
2007-06-19 Paul Thomas
|
3368 |
|
|
|
3369 |
|
|
PR fortran/20863
|
3370 |
|
|
PR fortran/20882
|
3371 |
|
|
* resolve.c (resolve_code): Use gfc_impure_variable as a
|
3372 |
|
|
condition for rejecting derived types with pointers, in pure
|
3373 |
|
|
procedures.
|
3374 |
|
|
(gfc_impure_variable): Add test for dummy arguments of pure
|
3375 |
|
|
procedures; any for functions and INTENT_IN for subroutines.
|
3376 |
|
|
|
3377 |
|
|
PR fortran/32236
|
3378 |
|
|
* data.c (gfc_assign_data_value): Change the ICE on an array
|
3379 |
|
|
reference initializer not being an array into an error and
|
3380 |
|
|
clear init to prevent a repetition of the error.
|
3381 |
|
|
|
3382 |
|
|
2007-06-17 Janne Blomqvist
|
3383 |
|
|
|
3384 |
|
|
* gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
|
3385 |
|
|
environment variables. Fix documentation for
|
3386 |
|
|
GFORTRAN_UNBUFFERED_ALL environment variable.
|
3387 |
|
|
|
3388 |
|
|
2007-06-15 Andrew Pinski
|
3389 |
|
|
|
3390 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
|
3391 |
|
|
POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
|
3392 |
|
|
* trans-expr.c (gfc_trans_string_copy): Create
|
3393 |
|
|
POINTER_PLUS_EXPR instead of a PLUS_EXPR
|
3394 |
|
|
for pointer types.
|
3395 |
|
|
|
3396 |
|
|
2007-06-14 Paul Thomas
|
3397 |
|
|
|
3398 |
|
|
PR fortran/32302
|
3399 |
|
|
* trans-common.c (build_common_decl): If resizing of common
|
3400 |
|
|
decl is needed, update the TREE_TYPE.
|
3401 |
|
|
|
3402 |
|
|
2007-06-13 Tobias Burnus
|
3403 |
|
|
|
3404 |
|
|
PR fortran/32323
|
3405 |
|
|
* interface.c (has_vector_section): New.
|
3406 |
|
|
(compare_actual_formal): Check for array sections with vector subscript.
|
3407 |
|
|
|
3408 |
|
|
2007-06-12 Dirk Mueller
|
3409 |
|
|
|
3410 |
|
|
* trans-stmt.c (gfc_trans_call): fix gcc_assert to
|
3411 |
|
|
a comparison, not an assignment.
|
3412 |
|
|
|
3413 |
|
|
2007-06-12 Paul Thomas
|
3414 |
|
|
|
3415 |
|
|
* trans-common.c (create_common): Initialize 'field_init'.
|
3416 |
|
|
|
3417 |
|
|
2007-06-12 Paul Thomas
|
3418 |
|
|
|
3419 |
|
|
PR fortran/29786
|
3420 |
|
|
PR fortran/30875
|
3421 |
|
|
* trans-common.c (get_init_field): New function.
|
3422 |
|
|
(create_common): Call get_init_field for overlapping
|
3423 |
|
|
initializers in equivalence blocks.
|
3424 |
|
|
* resolve.c (resolve_equivalence_derived, resolve_equivalence):
|
3425 |
|
|
Remove constraints on initializers in equivalence blocks.
|
3426 |
|
|
* target-memory.c (expr_to_char, gfc_merge_initializers):
|
3427 |
|
|
New functions.
|
3428 |
|
|
(encode_derived): Add the bit offset to the byte offset to get
|
3429 |
|
|
the total offset to the field.
|
3430 |
|
|
* target-memory.h : Add prototype for gfc_merge_initializers.
|
3431 |
|
|
|
3432 |
|
|
2007-06-11 Rafael Ávila de Espíndola
|
3433 |
|
|
|
3434 |
|
|
* trans-types.c (gfc_signed_type): Remove.
|
3435 |
|
|
* trans-types.h (gfc_signed_type): Remove.
|
3436 |
|
|
* f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
|
3437 |
|
|
|
3438 |
|
|
2007-06-08 Francois-Xavier Coudert
|
3439 |
|
|
|
3440 |
|
|
* trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
|
3441 |
|
|
|
3442 |
|
|
2007-06-07 Steven G. Kargl
|
3443 |
|
|
Jerry DeLisle
|
3444 |
|
|
|
3445 |
|
|
PR fortran/32223
|
3446 |
|
|
* match.c (gfc_match_special_char): New function. Match special char.
|
3447 |
|
|
Add handling '\0'.
|
3448 |
|
|
* match.h: Add prototype.
|
3449 |
|
|
* io.c (next_char): Use it.
|
3450 |
|
|
* primary.c (next_string_char): Ditto.
|
3451 |
|
|
|
3452 |
|
|
2007-06-06 Steven G. Kargl
|
3453 |
|
|
|
3454 |
|
|
* decl.c: Miscellaneous whitespace fixes.
|
3455 |
|
|
* expr.c: Likewise.
|
3456 |
|
|
* gfortran.h: Likewise.
|
3457 |
|
|
* interface.c : Likewise.
|
3458 |
|
|
* io.c: Likewise.
|
3459 |
|
|
* match.c: Likewise.
|
3460 |
|
|
* match.h: Likewise.
|
3461 |
|
|
* module.c: Likewise.
|
3462 |
|
|
* parse.c: Likewise.
|
3463 |
|
|
* resolve.c: Likewise.
|
3464 |
|
|
* symbol.c: Likewise.
|
3465 |
|
|
* trans-array.c: Likewise.
|
3466 |
|
|
* trans-common.c: Likewise.
|
3467 |
|
|
* trans-decl.c: Likewise.
|
3468 |
|
|
* trans-intrinsic.c: Likewise.
|
3469 |
|
|
* trans-io.c: Likewise.
|
3470 |
|
|
* trans-stmt.c: Likewise.
|
3471 |
|
|
* trans-types.c: Likewise.
|
3472 |
|
|
|
3473 |
|
|
2007-06-05 Jerry DeLisle
|
3474 |
|
|
|
3475 |
|
|
PR fortran/18923
|
3476 |
|
|
* parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
|
3477 |
|
|
for ST_FUNCTION since it is called in reject_statement.
|
3478 |
|
|
(parse_contained): If error, loop back after reject_statement and try
|
3479 |
|
|
again. Free the namespace if an error occured.
|
3480 |
|
|
|
3481 |
|
|
2007-06-04 Lee Millward
|
3482 |
|
|
|
3483 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
|
3484 |
|
|
to operate on a stack allocated array for the intrinsic arguments
|
3485 |
|
|
instead of creating a TREE_LIST. Add two new parameters for the
|
3486 |
|
|
array and the number of elements. Update all callers to allocate
|
3487 |
|
|
an array of the correct length to pass in. Update comment.
|
3488 |
|
|
(gfc_intrinsic_argument_list_length): New function.
|
3489 |
|
|
(gfc_conv_intrinsic_mnimax): Call it.
|
3490 |
|
|
(gfc_conv_intrinsic_merge): Likewise.
|
3491 |
|
|
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
|
3492 |
|
|
constructors.
|
3493 |
|
|
(gfc_conv_intrinsic_cmplx): Likewise.
|
3494 |
|
|
(gfc_conv_intrinsic_ctime): Likewise.
|
3495 |
|
|
(gfc_covn_intrinsic_fdate): Likewise.
|
3496 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
3497 |
|
|
(gfc_conv_intrinsic_ishftc): Likewise.
|
3498 |
|
|
(gfc_conv_intrinsic_index): Likewise.
|
3499 |
|
|
(gfc_conv_intrinsic_scan): Likewise.
|
3500 |
|
|
(gfc_conv_intrinsic_verify): Likewise.
|
3501 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
3502 |
|
|
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
|
3503 |
|
|
(gfc_conv_intrinsic_exponent): Likewise.
|
3504 |
|
|
(gfc_conv_intrinsic_bound): Likewise.
|
3505 |
|
|
(gfc_conv_intrinsic_abs): Likewise.
|
3506 |
|
|
(gfc_conv_intrinsic_mod): Likewise.
|
3507 |
|
|
(gfc_conv_intrinsic_sign): Likewise.
|
3508 |
|
|
(gfc_conv_intrinsic_len): Likewise.
|
3509 |
|
|
(gfc_conv_intrinsic_adjust): Likewise.
|
3510 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
3511 |
|
|
|
3512 |
|
|
2007-06-04 Steve Ellcey
|
3513 |
|
|
|
3514 |
|
|
* trans-array.c (gfc_conv_array_parameter): Initialize tmp.
|
3515 |
|
|
|
3516 |
|
|
2007-05-31 Richard Guenther
|
3517 |
|
|
|
3518 |
|
|
* trans-expr.c (gfc_conv_expr_op): Use zero constant
|
3519 |
|
|
that matches the lse type.
|
3520 |
|
|
(gfc_trans_string_copy): Use sizetype zero constant.
|
3521 |
|
|
* intrinsic.c (add_functions): The sizeof intrinsic has
|
3522 |
|
|
index type result.
|
3523 |
|
|
* trans-types.c (gfc_get_dtype): Convert size to index
|
3524 |
|
|
type before shifting.
|
3525 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): Use
|
3526 |
|
|
index type for offset computation.
|
3527 |
|
|
* trans-intrinsic.c (gfc_conv_associated): Use correct type
|
3528 |
|
|
for zero constant.
|
3529 |
|
|
|
3530 |
|
|
2007-05-31 Paul Thomas
|
3531 |
|
|
|
3532 |
|
|
PR fortran/32156
|
3533 |
|
|
* trans-array.c (gfc_trans_array_constructor): Treat the case
|
3534 |
|
|
where the ss expression charlen is missing.
|
3535 |
|
|
|
3536 |
|
|
2007-05-31 Paul Thomas
|
3537 |
|
|
|
3538 |
|
|
PR fortran/32103
|
3539 |
|
|
* module.c (mio_symtree_ref): If an equivalence group member
|
3540 |
|
|
is not used, give it a hidden symbol and set the pointer_info.
|
3541 |
|
|
(load_equiv): Only free the equivalence if none of the members
|
3542 |
|
|
are used.
|
3543 |
|
|
|
3544 |
|
|
2007-05-29 Daniel Franke
|
3545 |
|
|
|
3546 |
|
|
* gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
|
3547 |
|
|
added missing GFC_ISYM_* enumerators, ordered alphabetically.
|
3548 |
|
|
(struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
|
3549 |
|
|
(gfc_find_subroutine): New prototype.
|
3550 |
|
|
* intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
|
3551 |
|
|
(find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
|
3552 |
|
|
* dependency.c: Changed usage of isym->generic_id to isym->id.
|
3553 |
|
|
* openmp.c: Likewise.
|
3554 |
|
|
* resolve.c: Likewise.
|
3555 |
|
|
* trans-array.c: Likewise.
|
3556 |
|
|
* trans-expr.c: Likewise.
|
3557 |
|
|
* trans-intrinsic.c: Likewise.
|
3558 |
|
|
* trans-openmp.c: Likewise.
|
3559 |
|
|
|
3560 |
|
|
2007-05-28 Tobias Schlüter
|
3561 |
|
|
|
3562 |
|
|
* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
|
3563 |
|
|
* intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
|
3564 |
|
|
* intrinsic.h (gfc_check_sizeof): Add prototype of ...
|
3565 |
|
|
* check.c (gfc_check_sizeof): .. new function.
|
3566 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
|
3567 |
|
|
(gfc_conv_intrinsic_strcmp): Whitespace fix.
|
3568 |
|
|
(gfc_conv_intrinsic_array_transfer): Remove double initialization,
|
3569 |
|
|
use fold_build. where appropriate.
|
3570 |
|
|
(gfc_conv_intrinsic_function): Add case for SIZEOF.
|
3571 |
|
|
* intrinsic.texi: Add documentation for SIZEOF.
|
3572 |
|
|
|
3573 |
|
|
2007-05-28 Brooks Moses
|
3574 |
|
|
|
3575 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Edit comment.
|
3576 |
|
|
|
3577 |
|
|
2007-05-28 Brooks Moses
|
3578 |
|
|
|
3579 |
|
|
PR fortran/31972
|
3580 |
|
|
* target-memory.c (gfc_target_expr_size): Add handling
|
3581 |
|
|
for size of BT_HOLLERITH variables.
|
3582 |
|
|
* check.c (gfc_check_transfer): Reject BT_HOLLERITH
|
3583 |
|
|
variables in MOLD argument of TRANSFER.
|
3584 |
|
|
|
3585 |
|
|
2007-05-28 Brooks Moses
|
3586 |
|
|
|
3587 |
|
|
* gfortran.h (gfc_expr): Remove from_H, add "representation"
|
3588 |
|
|
struct.
|
3589 |
|
|
* primary.c (match_hollerith_constant): Store the representation
|
3590 |
|
|
of the Hollerith in representation, not in value.character.
|
3591 |
|
|
* arith.c: Add dependency on target-memory.h.
|
3592 |
|
|
(eval_intrinsic): Remove check for from_H.
|
3593 |
|
|
(hollerith2representation): New function.
|
3594 |
|
|
(gfc_hollerith2int): Determine value of the new constant.
|
3595 |
|
|
(gfc_hollerith2real): Likewise.
|
3596 |
|
|
(gfc_hollerith2complex): Likewise.
|
3597 |
|
|
(gfc_hollerith2logical): Likewise.
|
3598 |
|
|
(gfc_hollerith2character): Point both representation.string and
|
3599 |
|
|
value.character.string at the value string.
|
3600 |
|
|
* data.c (create_character_initializer): For BT_HOLLERITH
|
3601 |
|
|
rvalues, get the value from the representation rather than
|
3602 |
|
|
value.character.
|
3603 |
|
|
* expr.c (free_expr0): Update handling of BT_HOLLERITH values
|
3604 |
|
|
and values with representation.string.
|
3605 |
|
|
(gfc_copy_expr): Likewise.
|
3606 |
|
|
* intrinsic.c (do_simplify): Remove special treatement of
|
3607 |
|
|
variables resulting from Hollerith constants.
|
3608 |
|
|
* dump-parse-trees.c (gfc_show_expr): Update handling of
|
3609 |
|
|
Holleriths.
|
3610 |
|
|
* trans-const.c (gfc_conv_constant_to_tree): Replace from_H
|
3611 |
|
|
check with check for representation.string; get Hollerith
|
3612 |
|
|
representation from representation.string, not value.character.
|
3613 |
|
|
* trans-expr.c (is_zero_initializer_p): Replace from_H check
|
3614 |
|
|
with check for representation.string.
|
3615 |
|
|
* trans-stmt.c (gfc_trans_integer_select): Use
|
3616 |
|
|
gfc_conv_mpz_to_tree for case values, so as to avoid picking up
|
3617 |
|
|
the memory representation if the case is given by a transfer
|
3618 |
|
|
expression.
|
3619 |
|
|
* target-memory.c (gfc_target_encode_expr): Use the known memory
|
3620 |
|
|
representation rather than the value, if it exists.
|
3621 |
|
|
(gfc_target_interpret_expr): Store the memory representation of
|
3622 |
|
|
the interpreted expression as well as its value.
|
3623 |
|
|
(interpret_integer): Move to gfc_interpret_integer, make
|
3624 |
|
|
non-static.
|
3625 |
|
|
(interpret_float): Move to gfc_interpret_float, make non-static.
|
3626 |
|
|
(interpret_complex): Move to gfc_interpret_complex, make
|
3627 |
|
|
non-static.
|
3628 |
|
|
(interpret_logical): Move to gfc_interpret_logical, make
|
3629 |
|
|
non-static.
|
3630 |
|
|
(interpret_character): Move to gfc_interpret_character, make
|
3631 |
|
|
non-static.
|
3632 |
|
|
(interpret_derived): Move to gfc_interpret_derived, make
|
3633 |
|
|
non-static.
|
3634 |
|
|
* target-memory.h: Add prototypes for newly-exported
|
3635 |
|
|
gfc_interpret_* functions.
|
3636 |
|
|
|
3637 |
|
|
2007-05-27 Jerry DeLisle
|
3638 |
|
|
|
3639 |
|
|
PR fortran/31812
|
3640 |
|
|
* parse.c (next_statement): Warn for truncated lines if source is free
|
3641 |
|
|
form.
|
3642 |
|
|
|
3643 |
|
|
2007-05-27 Paul Thomas
|
3644 |
|
|
Tobias Burnus
|
3645 |
|
|
|
3646 |
|
|
PR fortran/32088
|
3647 |
|
|
* symbol.c (gfc_check_function_type): Copy dimensions of
|
3648 |
|
|
result variable.
|
3649 |
|
|
* resolve.c (resolve_contained_fntype): Improve symbol output in
|
3650 |
|
|
the error message.
|
3651 |
|
|
|
3652 |
|
|
2007-05-26 Jerry DeLisle
|
3653 |
|
|
|
3654 |
|
|
PR fortran/31813
|
3655 |
|
|
* io.c (check_format): Add warning for H specifier in format.
|
3656 |
|
|
|
3657 |
|
|
2007-05-26 Tobias Burnus
|
3658 |
|
|
|
3659 |
|
|
* gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
|
3660 |
|
|
GFORTRAN_ERROR_BACKTRACE environment variables.
|
3661 |
|
|
|
3662 |
|
|
2007-05-26 Paul Thomas
|
3663 |
|
|
|
3664 |
|
|
PR fortran/31219
|
3665 |
|
|
* trans.h : Add no_function_call bitfield to gfc_se structure.
|
3666 |
|
|
Add stmtblock_t argument to prototype of get_array_ctor_strlen.
|
3667 |
|
|
* trans-array.c (get_array_ctor_all_strlen): New function.
|
3668 |
|
|
(get_array_ctor_strlen): Add new stmtblock_t argument and call
|
3669 |
|
|
new function for character elements that are not constants,
|
3670 |
|
|
arrays or variables.
|
3671 |
|
|
(gfc_conv_array_parameter): Call get_array_ctor_strlen to get
|
3672 |
|
|
good string length.
|
3673 |
|
|
* trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
|
3674 |
|
|
to call of get_array_ctor_strlen.
|
3675 |
|
|
|
3676 |
|
|
2007-05-25 Kazu Hirata
|
3677 |
|
|
|
3678 |
|
|
* intrinsic.texi: Fix typos.
|
3679 |
|
|
|
3680 |
|
|
2007-05-25 Paul Thomas
|
3681 |
|
|
|
3682 |
|
|
PR fortran/32047
|
3683 |
|
|
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
|
3684 |
|
|
order in logic under EXPR_FUNCTION to handle functions with
|
3685 |
|
|
no arguments.
|
3686 |
|
|
|
3687 |
|
|
2007-05-23 Jerry DeLisle
|
3688 |
|
|
|
3689 |
|
|
PR fortran/31716
|
3690 |
|
|
* array.c (spec_dimen_size): Test for correct BT_INTEGER type.
|
3691 |
|
|
|
3692 |
|
|
2007-05-23 Francois-Xavier Coudert
|
3693 |
|
|
|
3694 |
|
|
PR fortran/32046
|
3695 |
|
|
* trans-expr.c (gfc_trans_zero_assign): Convert the result of
|
3696 |
|
|
TYPE_SIZE_UNIT into a signed type.
|
3697 |
|
|
(gfc_trans_array_copy): Likewise.
|
3698 |
|
|
(gfc_trans_array_constructor_copy): Likewise.
|
3699 |
|
|
* trans-array.c (gfc_trans_create_temp_array): Likewise.
|
3700 |
|
|
(gfc_grow_array): Likewise.
|
3701 |
|
|
(gfc_array_init_size): Likewise.
|
3702 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
3703 |
|
|
* trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
|
3704 |
|
|
|
3705 |
|
|
2007-05-22 Jerry DeLisle
|
3706 |
|
|
|
3707 |
|
|
PR fortran/18923
|
3708 |
|
|
* resolve.c (resolve_function): Don't call resolve_global_procedure if
|
3709 |
|
|
there is no name. Delete duplicated statement in ELSE clause.
|
3710 |
|
|
|
3711 |
|
|
2007-05-22 Francois-Xavier Coudert
|
3712 |
|
|
|
3713 |
|
|
PR fortran/31627
|
3714 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Take extra argument to
|
3715 |
|
|
indicate whether we should check the upper bound in that dimension.
|
3716 |
|
|
(gfc_conv_array_index_offset): Check only the lower bound of the
|
3717 |
|
|
last dimension for assumed-size arrays.
|
3718 |
|
|
(gfc_conv_array_ref): Likewise.
|
3719 |
|
|
(gfc_conv_ss_startstride): Likewise.
|
3720 |
|
|
|
3721 |
|
|
2007-05-21 Jerry DeLisle
|
3722 |
|
|
Daniel Franke
|
3723 |
|
|
|
3724 |
|
|
PR fortran/32002
|
3725 |
|
|
* resolve.c (resolve_actual_arglist): Resolve actual argument after
|
3726 |
|
|
being identified as variable.
|
3727 |
|
|
|
3728 |
|
|
2007-05-21 Francois-Xavier Coudert
|
3729 |
|
|
|
3730 |
|
|
PR fortran/32027
|
3731 |
|
|
* trans-stmt.c (gfc_trans_do): Fix the value of loop variable
|
3732 |
|
|
when the loop ends.
|
3733 |
|
|
|
3734 |
|
|
2007-05-21 H.J. Lu
|
3735 |
|
|
|
3736 |
|
|
* trans-stmt.c (gfc_trans_do): Fix a typo in comment.
|
3737 |
|
|
|
3738 |
|
|
2007-05-21 Paul Thomas
|
3739 |
|
|
|
3740 |
|
|
PR fortran/31867
|
3741 |
|
|
PR fortran/31994
|
3742 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
|
3743 |
|
|
offset for non-descriptor, source arrays and correct for stride
|
3744 |
|
|
not equal to one before writing to field of output descriptor.
|
3745 |
|
|
|
3746 |
|
|
2007-05-20 Daniel Franke
|
3747 |
|
|
|
3748 |
|
|
PR fortran/32001
|
3749 |
|
|
* check.c (check_rest): Improved argument conformance check and
|
3750 |
|
|
fixed error message generation.
|
3751 |
|
|
|
3752 |
|
|
2007-05-19 Francois-Xavier Coudert
|
3753 |
|
|
|
3754 |
|
|
PR fortran/30820
|
3755 |
|
|
* Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
|
3756 |
|
|
simplify.o and trans-common.o.
|
3757 |
|
|
|
3758 |
|
|
2007-05-19 Francois-Xavier Coudert
|
3759 |
|
|
|
3760 |
|
|
PR fortran/31974
|
3761 |
|
|
* trans-array.c (gfc_trans_auto_array_allocation): Avoid
|
3762 |
|
|
multiplication of mismatched types.
|
3763 |
|
|
|
3764 |
|
|
2007-05-18 Daniel Franke
|
3765 |
|
|
|
3766 |
|
|
PR fortran/24633
|
3767 |
|
|
* symbol.c (gfc_add_flavor): Add the NAME to error message if
|
3768 |
|
|
available.
|
3769 |
|
|
|
3770 |
|
|
2007-05-15 Daniel Franke
|
3771 |
|
|
|
3772 |
|
|
PR fortran/31919
|
3773 |
|
|
PR fortran/31929
|
3774 |
|
|
PR fortran/31930
|
3775 |
|
|
* intrinsic.c (check_specific): Check elemental intrinsics for
|
3776 |
|
|
rank and shape.
|
3777 |
|
|
(add_functions): Fixed dummy argument names of BESJN and BESYN.
|
3778 |
|
|
Fixed elemental status of MCLOCK and MCLOCK8.
|
3779 |
|
|
* check.c (check_rest): Added check for array conformance.
|
3780 |
|
|
(gfc_check_merge): Removed check for array conformance.
|
3781 |
|
|
(gfc_check_besn): Removed check for scalarity.
|
3782 |
|
|
* intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
|
3783 |
|
|
(BESJN, BESYN): Clarified documentation.
|
3784 |
|
|
|
3785 |
|
|
2007-05-17 Tobias Burnus
|
3786 |
|
|
|
3787 |
|
|
* gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
|
3788 |
|
|
|
3789 |
|
|
2007-05-16 Brooks Moses
|
3790 |
|
|
|
3791 |
|
|
PR fortran/18769
|
3792 |
|
|
PR fortran/30881
|
3793 |
|
|
PR fortran/31194
|
3794 |
|
|
PR fortran/31216
|
3795 |
|
|
PR fortran/31427
|
3796 |
|
|
* target-memory.c: New file.
|
3797 |
|
|
* target-memory.h: New file.
|
3798 |
|
|
* simplify.c: Add #include "target-memory.h".
|
3799 |
|
|
(gfc_simplify_transfer): Implement constant-
|
3800 |
|
|
folding for TRANSFER intrinsic.
|
3801 |
|
|
* Make-lang.in: Add dependencies on new target-memory.* files.
|
3802 |
|
|
|
3803 |
|
|
2007-05-15 Paul Brook
|
3804 |
|
|
|
3805 |
|
|
* trans-types.c (gfc_type_for_size): Handle signed TImode.
|
3806 |
|
|
|
3807 |
|
|
2007-05-14 Francois-Xavier Coudert
|
3808 |
|
|
|
3809 |
|
|
PR fortran/30723
|
3810 |
|
|
* trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
|
3811 |
|
|
gfor_fndecl_internal_free): Remove prototypes.
|
3812 |
|
|
(gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
|
3813 |
|
|
* trans.c (gfc_call_malloc, gfc_call_free): New functions.
|
3814 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
|
3815 |
|
|
and __builtin_malloc builtins.
|
3816 |
|
|
* trans-decl.c (gfor_fndecl_internal_malloc,
|
3817 |
|
|
gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
|
3818 |
|
|
(gfor_fndecl_os_error): Add.
|
3819 |
|
|
(gfc_build_builtin_function_decls): Don't create internal_malloc,
|
3820 |
|
|
internal_malloc64 and internal_free library function declaration.
|
3821 |
|
|
Create os_error library call function declaration.
|
3822 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage,
|
3823 |
|
|
gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
|
3824 |
|
|
gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
|
3825 |
|
|
gfc_call_malloc and gfc_call_free instead of building calls to
|
3826 |
|
|
internal_malloc and internal_free.
|
3827 |
|
|
* trans-expr.c (gfc_conv_string_tmp): Likewise.
|
3828 |
|
|
* trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
|
3829 |
|
|
gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
|
3830 |
|
|
gfc_trans_where_2: Likewise.
|
3831 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ctime,
|
3832 |
|
|
gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
|
3833 |
|
|
gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
|
3834 |
|
|
|
3835 |
|
|
2007-05-14 Francois-Xavier Coudert
|
3836 |
|
|
|
3837 |
|
|
PR fortran/31725
|
3838 |
|
|
* trans-expr.c (gfc_conv_substring): Evaluate substring bounds
|
3839 |
|
|
only once.
|
3840 |
|
|
|
3841 |
|
|
2007-05-14 Rafael Ávila de Espíndola
|
3842 |
|
|
|
3843 |
|
|
* f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
|
3844 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
|
3845 |
|
|
instead of gfc_unsigned_type.
|
3846 |
|
|
* trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
|
3847 |
|
|
gfc_unsigned_type.
|
3848 |
|
|
* trans-types.c (gfc_unsigned_type): Remove.
|
3849 |
|
|
* trans-types.h (gfc_unsigned_type): Remove.
|
3850 |
|
|
|
3851 |
|
|
2007-05-12 Paul Thomas
|
3852 |
|
|
|
3853 |
|
|
PR fortran/30746
|
3854 |
|
|
* resolve.c (check_host_association): New function that detects
|
3855 |
|
|
incorrect host association and corrects it.
|
3856 |
|
|
(gfc_resolve_expr): Call the new function for variables and
|
3857 |
|
|
functions.
|
3858 |
|
|
* match.h : Remove prototype for gfc_match_rvalue.
|
3859 |
|
|
* gfortran.h : Add prototype for gfc_match_rvalue.
|
3860 |
|
|
|
3861 |
|
|
2007-05-11 Paul Thomas
|
3862 |
|
|
|
3863 |
|
|
PR fortran/30876
|
3864 |
|
|
* trans-expr.c (gfc_conv_function_call): Reduce indirection for
|
3865 |
|
|
direct assignments of recursive array valued functions.
|
3866 |
|
|
* primary.c (gfc_match_rvalue): Correct error for recursive
|
3867 |
|
|
function calls such that directly recursive calls of scalar
|
3868 |
|
|
function without an explicit result are disallowed.
|
3869 |
|
|
|
3870 |
|
|
2007-05-11 Paul Thomas
|
3871 |
|
|
|
3872 |
|
|
PR fortran/30878
|
3873 |
|
|
* resolve.c (resolve_fl_namelist): It is not an error if the
|
3874 |
|
|
namelist element is the result variable of the enclosing
|
3875 |
|
|
function. Search for the symbol in current and all parent
|
3876 |
|
|
namespaces for a potential conflict.
|
3877 |
|
|
* symbol.c (check_conflict): Remove the conflict between
|
3878 |
|
|
'in_namelist' and 'FL_PROCEDURE' because the symbol info
|
3879 |
|
|
is not available to exclude function result variables.
|
3880 |
|
|
* trans-io.c (nml_get_addr_expr): Use the fake result decl
|
3881 |
|
|
if the symbol is an implicit result variable.
|
3882 |
|
|
|
3883 |
|
|
2007-05-11 Paul Thomas
|
3884 |
|
|
|
3885 |
|
|
PR fortran/31474
|
3886 |
|
|
* decl.c (get_proc_name): If an entry has already been declared
|
3887 |
|
|
as a module procedure, pick up the symbol and the symtree and
|
3888 |
|
|
use them for the entry.
|
3889 |
|
|
|
3890 |
|
|
2007-05-08 Paul Thomas
|
3891 |
|
|
|
3892 |
|
|
PR fortran/31630
|
3893 |
|
|
* resolve.c (resolve_symbol): Remove the flagging mechanism from the
|
3894 |
|
|
formal namespace resolution and instead check that the formal
|
3895 |
|
|
namespace is not the current namespace.
|
3896 |
|
|
|
3897 |
|
|
2007-05-08 Paul Thomas
|
3898 |
|
|
|
3899 |
|
|
PR fortran/31692
|
3900 |
|
|
* trans-array.c (gfc_conv_array_parameter): Convert full array
|
3901 |
|
|
references to the result of the procedure enclusing the call.
|
3902 |
|
|
|
3903 |
|
|
2007-05-08 Paul Thomas
|
3904 |
|
|
|
3905 |
|
|
PR fortran/29397
|
3906 |
|
|
PR fortran/29400
|
3907 |
|
|
* decl.c (add_init_expr_to_sym): Expand a scalar initializer
|
3908 |
|
|
for a parameter array into an array expression with the right
|
3909 |
|
|
shape.
|
3910 |
|
|
* array.c (spec_dimen_size): Remove static attribute.
|
3911 |
|
|
* gfortran.h : Prototype for spec_dimen_size.
|
3912 |
|
|
|
3913 |
|
|
2007-05-07 Francois-Xavier Coudert
|
3914 |
|
|
|
3915 |
|
|
PR fortran/31399
|
3916 |
|
|
* trans-stmt.c (gfc_trans_do): Handle large loop counts.
|
3917 |
|
|
|
3918 |
|
|
2007-05-07 Francois-Xavier Coudert
|
3919 |
|
|
|
3920 |
|
|
PR fortran/31764
|
3921 |
|
|
* simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
|
3922 |
|
|
even for non constant arguments.
|
3923 |
|
|
|
3924 |
|
|
2007-05-06 Jerry DeLisle
|
3925 |
|
|
Francois-Xavier Coudert
|
3926 |
|
|
|
3927 |
|
|
PR fortran/31201
|
3928 |
|
|
* gfortran.h: Add runtime error codes from libgfortran.h. Define
|
3929 |
|
|
MAX_UNIT_NUMBER.
|
3930 |
|
|
* trans.c (gfc_trans_runtime_check): Update the format of runtime error
|
3931 |
|
|
messages to match library runtime errors. Use call to new library
|
3932 |
|
|
function runtime_error_at().
|
3933 |
|
|
* trans.h: Add prototype for new function gfc_trans_io_runtime_check.
|
3934 |
|
|
Add declaration for library functions runtime_error_at and
|
3935 |
|
|
generate_error.
|
3936 |
|
|
* trans_io.c (gfc_trans_io_runtime_check): New function.
|
3937 |
|
|
(set_parameter_value): Add error checking for UNIT numbers.
|
3938 |
|
|
(set_parameter_ref): Initialize the users variable to zero.
|
3939 |
|
|
(gfc_trans_open): Move setting of unit number to after setting of common
|
3940 |
|
|
flags so that runtime error trapping can be detected.
|
3941 |
|
|
(gfc_trans_close): Likewise. (build_filepos): Likewise.
|
3942 |
|
|
(gfc_trans_inquire): Likewise. (build_dt): Likewise.
|
3943 |
|
|
* trans-decl.c: Add declarations for runtime_error_at and
|
3944 |
|
|
generate_error. (gfc_build_builtin_function_decls): Build function
|
3945 |
|
|
declarations for runtime_error_at and generate_error.
|
3946 |
|
|
|
3947 |
|
|
2007-05-06 Paul Thomas
|
3948 |
|
|
|
3949 |
|
|
PR fortran/31540
|
3950 |
|
|
* resolve.c (resolve_fl_procedure): Resolve constant character
|
3951 |
|
|
lengths.
|
3952 |
|
|
|
3953 |
|
|
2007-05-05 Jerry DeLisle
|
3954 |
|
|
|
3955 |
|
|
PR fortran/31251
|
3956 |
|
|
* decl.c (match_char_spec): Add check for invalid character lengths.
|
3957 |
|
|
|
3958 |
|
|
2007-05-04 Brooks Moses
|
3959 |
|
|
|
3960 |
|
|
* intrinsic.texi (CMPLX): Document result kind.
|
3961 |
|
|
(COMPLEX): Add documentation.
|
3962 |
|
|
|
3963 |
|
|
2007-05-04 Daniel Franke
|
3964 |
|
|
|
3965 |
|
|
PR fortran/31760
|
3966 |
|
|
* intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
|
3967 |
|
|
by gfc_check_fn_r to avoid checks for scalarity.
|
3968 |
|
|
* check.c (gfc_check_besn): Removed check for scalarity.
|
3969 |
|
|
(gfc_check_g77_math1): Removed.
|
3970 |
|
|
* intrinsic.h (gfc_check_g77_math1): Removed.
|
3971 |
|
|
|
3972 |
|
|
2007-05-04 Daniel Franke
|
3973 |
|
|
|
3974 |
|
|
* check.c (gfc_check_fseek_sub): Fixed typo.
|
3975 |
|
|
|
3976 |
|
|
2007-05-04 Daniel Franke
|
3977 |
|
|
|
3978 |
|
|
PR fortran/22359
|
3979 |
|
|
* intrinsic.c (add_subroutines): Added FSEEK.
|
3980 |
|
|
* intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
|
3981 |
|
|
* iresolve.c (gfc_resolve_fseek_sub): New.
|
3982 |
|
|
* check.c (gfc_check_fseek_sub): New.
|
3983 |
|
|
* intrinsic.texi (FSEEK): Updated.
|
3984 |
|
|
|
3985 |
|
|
2007-05-04 Tobias Burnus
|
3986 |
|
|
|
3987 |
|
|
PR fortran/31803
|
3988 |
|
|
* expr.c (gfc_check_pointer_assign): Check for NULL pointer.
|
3989 |
|
|
|
3990 |
|
|
2007-05-04 Jerry DeLisle
|
3991 |
|
|
|
3992 |
|
|
PR fortran/31251
|
3993 |
|
|
* simplify.c (gfc_simplify_len): Only simplify integer lengths.
|
3994 |
|
|
|
3995 |
|
|
2007-05-04 Francois-Xavier Coudert
|
3996 |
|
|
|
3997 |
|
|
PR fortran/31781
|
3998 |
|
|
* simplify.c (gfc_simplify_repeat): Don't put function call with
|
3999 |
|
|
side effect in a gcc_assert().
|
4000 |
|
|
|
4001 |
|
|
2007-05-04 Tobias Burnus
|
4002 |
|
|
|
4003 |
|
|
PR fortran/25071
|
4004 |
|
|
* interface.c (compare_actual_formal): Check character length.
|
4005 |
|
|
|
4006 |
|
|
2007-05-01 Thomas Koenig
|
4007 |
|
|
|
4008 |
|
|
PR fortran/31732
|
4009 |
|
|
* dependency.c (gfc_full_array_ref_p): If the reference is
|
4010 |
|
|
to a single element, check that the array has a single
|
4011 |
|
|
element and that the correct element is referenced.
|
4012 |
|
|
|
4013 |
|
|
2007-05-01 Daniel Franke
|
4014 |
|
|
|
4015 |
|
|
* intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
|
4016 |
|
|
(add_subroutines): Replaced magic numbers in function calls by
|
4017 |
|
|
ELEMENTAL and NOT_ELEMENTAL respectively.
|
4018 |
|
|
* intrinsic.texi (MVBITS): Changed class to elemental subroutine.
|
4019 |
|
|
(RANDOM_NUMBER): Changed class to subroutine.
|
4020 |
|
|
(HUGE, TINY): Changed class to inquiry function.
|
4021 |
|
|
|
4022 |
|
|
2007-04-30 Brooks Moses
|
4023 |
|
|
|
4024 |
|
|
* trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
|
4025 |
|
|
(gfc_conv_tree_to_mpz): New function.
|
4026 |
|
|
(gfc_conv_mpfr_to_tree): Use real_from_mpfr.
|
4027 |
|
|
(gfc_conv_tree_to_mpfr): New function.
|
4028 |
|
|
* trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
|
4029 |
|
|
(gfc_conv_tree_to_mpfr): New prototype.
|
4030 |
|
|
|
4031 |
|
|
2007-04-30 Daniel Franke
|
4032 |
|
|
|
4033 |
|
|
* intrinsic.texi (IERRNO): Changed class to non-elemental function.
|
4034 |
|
|
(LOG10): Removed COMPLEX as accepted argument type.
|
4035 |
|
|
(NEW_LINE): Changed class from elemental to inquiry function.
|
4036 |
|
|
(SIGN): Removed requirement of scalar arguments.
|
4037 |
|
|
(SNGL): Changed class to elemental function.
|
4038 |
|
|
|
4039 |
|
|
2007-04-29 Francois-Xavier Coudert
|
4040 |
|
|
|
4041 |
|
|
PR fortran/31591
|
4042 |
|
|
* simplify.c (simplify_bound_dim): New function.
|
4043 |
|
|
(simplify_bound): Use the above. Perform simplification of LBOUND
|
4044 |
|
|
and UBOUND when DIM argument is not present.
|
4045 |
|
|
|
4046 |
|
|
2007-04-29 Daniel Franke
|
4047 |
|
|
|
4048 |
|
|
* gfortran.texi: Cleaned up keyword index.
|
4049 |
|
|
* invoke.texi: Likewise.
|
4050 |
|
|
* intrinsic.texi: Likewise.
|
4051 |
|
|
|
4052 |
|
|
2007-04-29 Francois-Xavier Coudert
|
4053 |
|
|
|
4054 |
|
|
PR fortran/31645
|
4055 |
|
|
* scanner.c (load_file): Discard the byte order mark if one is
|
4056 |
|
|
found on the first non-preprocessor line of a file.
|
4057 |
|
|
|
4058 |
|
|
2007-04-29 Paul Thomas
|
4059 |
|
|
|
4060 |
|
|
PR fortran/31711
|
4061 |
|
|
* trans-array.c (gfc_conv_resolve_dependencies): Create a temp
|
4062 |
|
|
whenever a dependency is found.
|
4063 |
|
|
|
4064 |
|
|
2007-04-28 Tobias Schlüter
|
4065 |
|
|
|
4066 |
|
|
* options.c (gfc_handle_option): Ensure requested free form line
|
4067 |
|
|
length is not too small.
|
4068 |
|
|
|
4069 |
|
|
2007-04-27 Brooks Moses
|
4070 |
|
|
|
4071 |
|
|
* intrinsic.texi (Transfer): Improve documentation.
|
4072 |
|
|
|
4073 |
|
|
2007-04-27 Brooks Moses
|
4074 |
|
|
|
4075 |
|
|
* gfortran.texi (Option Index): Add @samp as needed.
|
4076 |
|
|
|
4077 |
|
|
2007-04-27 Daniel Franke
|
4078 |
|
|
|
4079 |
|
|
* gfortran.texi: Added node and menu entry for an option index.
|
4080 |
|
|
* invoke.texi: Moved command line option related entries of the concept
|
4081 |
|
|
index to the option index.
|
4082 |
|
|
|
4083 |
|
|
2007-04-27 Daniel Franke
|
4084 |
|
|
|
4085 |
|
|
* intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
|
4086 |
|
|
XOR): Fixed examples.
|
4087 |
|
|
|
4088 |
|
|
2007-04-27 Daniel Franke
|
4089 |
|
|
|
4090 |
|
|
* intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM,
|
4091 |
|
|
SYSTEM_CLOCK, TRANSFER, UNPACK): New.
|
4092 |
|
|
(DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
|
4093 |
|
|
|
4094 |
|
|
2007-04-26 Daniel Franke
|
4095 |
|
|
|
4096 |
|
|
* intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE,
|
4097 |
|
|
SIZE, TRANSPOSE, TRIM, VERIFY): New.
|
4098 |
|
|
(ADJUSTL, ADJUSTR, INDEX): Added cross references.
|
4099 |
|
|
(INT, INT2, INT8, LONG): Enabled section header.
|
4100 |
|
|
|
4101 |
|
|
2007-04-25 Janne Blomqvist
|
4102 |
|
|
|
4103 |
|
|
* module.c (module_char): Replace fgetc() with
|
4104 |
|
|
getc().
|
4105 |
|
|
(write_char): Replace fputc() with putc().
|
4106 |
|
|
* scanner.c (load_line): Replace fgetc() with getc().
|
4107 |
|
|
(gfc_read_orig_filename): Likewise.
|
4108 |
|
|
|
4109 |
|
|
2007-04-25 Tobias Burnus
|
4110 |
|
|
|
4111 |
|
|
PR fortran/31668
|
4112 |
|
|
* error.c (error_print): Fix %% support.
|
4113 |
|
|
* intrinsic.c (sort_actual): Improve error message.
|
4114 |
|
|
* resolve.c (resolve_actual_arglist): Allow %VAL for
|
4115 |
|
|
interfaces defined in the module declaration part.
|
4116 |
|
|
|
4117 |
|
|
2007-04-25 Francois-Xavier Coudert
|
4118 |
|
|
|
4119 |
|
|
PR libfortran/31299
|
4120 |
|
|
* intrinsic.texi (GETLOG): Update documentation to reflect
|
4121 |
|
|
library changes.
|
4122 |
|
|
|
4123 |
|
|
2007-04-24 Francois-Xavier Coudert
|
4124 |
|
|
|
4125 |
|
|
PR fortran/31587
|
4126 |
|
|
* module.c (write_char): Add character to the MD5 buffer.
|
4127 |
|
|
(read_md5_from_module_file): New function.
|
4128 |
|
|
(gfc_dump_module): Compute MD5 for new module file. Call
|
4129 |
|
|
read_md5_from_module_file. Only overwrite old module file
|
4130 |
|
|
if the new MD5 is different.
|
4131 |
|
|
|
4132 |
|
|
2007-04-23 Paul Thomas
|
4133 |
|
|
|
4134 |
|
|
PR fortran/31630
|
4135 |
|
|
* resolve.c (resolve_symbol): Allow resolution of formal
|
4136 |
|
|
namespaces nested within formal namespaces coming from modules.
|
4137 |
|
|
|
4138 |
|
|
PR fortran/31620
|
4139 |
|
|
* trans-expr.c (gfc_trans_assignment): Make the call to
|
4140 |
|
|
gfc_trans_zero_assign conditional on the lhs array ref being
|
4141 |
|
|
the only reference.
|
4142 |
|
|
|
4143 |
|
|
2007-04-23 Tobias Burnus
|
4144 |
|
|
|
4145 |
|
|
* primary.c (match_integer_constant): Mention -fno-range-check
|
4146 |
|
|
in the error message.
|
4147 |
|
|
|
4148 |
|
|
2007-04-21 Jerry DeLisle
|
4149 |
|
|
|
4150 |
|
|
PR fortran/31495
|
4151 |
|
|
* scanner.c (load_line): Remove check for comment after ampersand and
|
4152 |
|
|
adjust tracking of ampersand.
|
4153 |
|
|
|
4154 |
|
|
2007-04-21 Andrew Pinski
|
4155 |
|
|
|
4156 |
|
|
* f95-lang.c (lang_tree_node): Use GENERIC_NEXT
|
4157 |
|
|
instead of checking GIMPLE_STMT_P in chain_next.
|
4158 |
|
|
|
4159 |
|
|
2007-04-17 Tobias Schlüter
|
4160 |
|
|
|
4161 |
|
|
* trans-types.h (gfc_packed): New enum.
|
4162 |
|
|
(gfc_get_nodesc_array_type): Change prototype to use new enum.
|
4163 |
|
|
* trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
|
4164 |
|
|
argument packed. Adapt all references to values accordingly.
|
4165 |
|
|
(gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
|
4166 |
|
|
(gfc_get_derived_type): Likewise.
|
4167 |
|
|
* trans-array.c (gfc_build_constant_array_constructor): Likewise.
|
4168 |
|
|
* trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
|
4169 |
|
|
argument to type gfc_packed.
|
4170 |
|
|
(gfc_add_interface_mapping): Use enum values in call to
|
4171 |
|
|
gfc_get_interface_mapping.
|
4172 |
|
|
* trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
|
4173 |
|
|
values when determining packing.
|
4174 |
|
|
|
4175 |
|
|
* trans-decl.c (gfc_finish_decl): Remove unused second argument
|
4176 |
|
|
'init'. Simplify code accordingly. Remove calls to
|
4177 |
|
|
gfc_fatal_error in favor of gcc_assert.
|
4178 |
|
|
(create_function_arglist): Remove second argument from calls to
|
4179 |
|
|
gfc_finish-decl.
|
4180 |
|
|
(gfc_trans_dummy_character): Likewise.
|
4181 |
|
|
|
4182 |
|
|
* arith.h: Update copyright years.
|
4183 |
|
|
* dependency.h: Likewise.
|
4184 |
|
|
* gfortran.h: Likewise.
|
4185 |
|
|
* lang-specs.h: Likewise.
|
4186 |
|
|
* parse.h: Likewise.
|
4187 |
|
|
* symbol.c: Likewise.
|
4188 |
|
|
* trans.h: Likewise.
|
4189 |
|
|
* trans.c: Likewise.
|
4190 |
|
|
* trans-array.c: Likewise.
|
4191 |
|
|
* trans-common.c: Likewise.
|
4192 |
|
|
* trans-const.h: Likewise.
|
4193 |
|
|
* trans-const.c: Likewise.
|
4194 |
|
|
* trans-decl.c: Likewise.
|
4195 |
|
|
* trans-expr.c: Likewise.
|
4196 |
|
|
* trans-io.c: Likewise.
|
4197 |
|
|
* trans-openmp.c: Likewise.
|
4198 |
|
|
* trans-types.h: Likewise.
|
4199 |
|
|
* types.def: Likewise.
|
4200 |
|
|
|
4201 |
|
|
2007-04-17 Tobias Schlüter
|
4202 |
|
|
|
4203 |
|
|
PR fortran/31144
|
4204 |
|
|
* decl.c (gfc_sym_mangled_identifier): Use capital letters in name
|
4205 |
|
|
mangling.
|
4206 |
|
|
(gfc_sym_mangled_function_id): Likewise.
|
4207 |
|
|
|
4208 |
|
|
2007-04-15 Paul Thomas
|
4209 |
|
|
|
4210 |
|
|
PR fortran/31204
|
4211 |
|
|
* primary.c (check_for_implicit_index): New function to check
|
4212 |
|
|
that a host associated variable is not an undeclared implied
|
4213 |
|
|
do loop index.
|
4214 |
|
|
(gfc_match_rvalue, match_variable): Use it and reset the
|
4215 |
|
|
implied_index attribute.
|
4216 |
|
|
* gfortran.h : Add the implied_index field to symbol_attribute.
|
4217 |
|
|
* match.c (gfc_match_iterator): Mark the iterator variable
|
4218 |
|
|
with the new attribute.
|
4219 |
|
|
* decl.c (build_sym): Reset the new attribute.
|
4220 |
|
|
|
4221 |
|
|
2007-04-15 Kazu Hirata
|
4222 |
|
|
|
4223 |
|
|
* gfc-internals.texi: Fix typos.
|
4224 |
|
|
* simplify.c: Fix a comment typo.
|
4225 |
|
|
|
4226 |
|
|
2007-04-14 Bernhard Fischer
|
4227 |
|
|
|
4228 |
|
|
* primary.c: Commentary typo fix; Add question about redundant (?)
|
4229 |
|
|
set.
|
4230 |
|
|
|
4231 |
|
|
2007-04-14 Paul Thomas
|
4232 |
|
|
|
4233 |
|
|
PR fortran/29507
|
4234 |
|
|
PR fortran/31404
|
4235 |
|
|
* expr.c (scalarize_intrinsic_call): New function to
|
4236 |
|
|
scalarize elemental intrinsic functions in initialization
|
4237 |
|
|
expressions.
|
4238 |
|
|
(check_init_expr): Detect elemental intrinsic functions
|
4239 |
|
|
in initalization expressions and call previous.
|
4240 |
|
|
|
4241 |
|
|
2007-04-13 Tobias Burnus
|
4242 |
|
|
|
4243 |
|
|
PR fortran/31559
|
4244 |
|
|
* primary.c (match_variable): External functions
|
4245 |
|
|
are no variables.
|
4246 |
|
|
|
4247 |
|
|
2007-04-13 Paul Thomas
|
4248 |
|
|
|
4249 |
|
|
PR fortran/31550
|
4250 |
|
|
* trans-types.c (copy_dt_decls_ifequal): Do not get pointer
|
4251 |
|
|
derived type components.
|
4252 |
|
|
|
4253 |
|
|
2007-04-13 Tobias Schlüter
|
4254 |
|
|
|
4255 |
|
|
PR fortran/18937
|
4256 |
|
|
* resolve.c: Include obstack.h and bitmap.h. New variable
|
4257 |
|
|
labels_obstack.
|
4258 |
|
|
(code_stack): Add tail and reachable_labels fields.
|
4259 |
|
|
(reachable_labels): New function.
|
4260 |
|
|
(resolve_branch): Rework to use new fields in code_stack.
|
4261 |
|
|
(resolve_code): Call reachable_labels.
|
4262 |
|
|
(resolve_codes): Allocate and free labels_obstack.
|
4263 |
|
|
|
4264 |
|
|
2007-04-12 Tobias Schlüter
|
4265 |
|
|
|
4266 |
|
|
PR fortran/31250
|
4267 |
|
|
* decl.c (match_char_spec): Move check for negative CHARACTER
|
4268 |
|
|
length ...
|
4269 |
|
|
* resolve.c (resolve_charlen): ... here.
|
4270 |
|
|
(resolve_types): Resolve CHARACTER lengths earlier.
|
4271 |
|
|
|
4272 |
|
|
2007-04-12 Daniel Franke
|
4273 |
|
|
|
4274 |
|
|
PR fortran/31234
|
4275 |
|
|
* intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
|
4276 |
|
|
|
4277 |
|
|
2007-04-12 Tobias Schlüter
|
4278 |
|
|
|
4279 |
|
|
PR fortran/31266
|
4280 |
|
|
* primary.c (gfc_variable_attr): Don't copy string length if it
|
4281 |
|
|
doesn't make sense.
|
4282 |
|
|
* resolve.c (resolve_code): Clarify error message.
|
4283 |
|
|
|
4284 |
|
|
PR fortran/31471
|
4285 |
|
|
* decl.c (gfc_match_end): Also check for construct name in END
|
4286 |
|
|
FORALL and END WERE statements.
|
4287 |
|
|
* match.c (match_case_eos): Use uppercase for statement name in
|
4288 |
|
|
error message.
|
4289 |
|
|
(match_elsewhere): Construct name may appear iff construct has a
|
4290 |
|
|
name.
|
4291 |
|
|
|
4292 |
|
|
* trans-types.c: Update copyright years. Reformat long comment
|
4293 |
|
|
explaining array descriptor format. Remove obsolete mention of
|
4294 |
|
|
TYPE_SET.
|
4295 |
|
|
|
4296 |
|
|
* arith.c (gfc_arith_uplus): Rename to ...
|
4297 |
|
|
(gfc_arith_identity): ... this.
|
4298 |
|
|
(gfc_parentheses): New function.
|
4299 |
|
|
(gfc_uplus): Adapt to renamed function.
|
4300 |
|
|
* arith.h (gfc_parentheses): Add prototype.
|
4301 |
|
|
* expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
|
4302 |
|
|
(simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
|
4303 |
|
|
INTRINSIC_PARENTHESES.
|
4304 |
|
|
|
4305 |
|
|
2007-04-12 Tobias Burnus
|
4306 |
|
|
|
4307 |
|
|
PR fortran/31472
|
4308 |
|
|
* decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
|
4309 |
|
|
attribute in type definitions.
|
4310 |
|
|
(gfc_match_private): Allow PRIVATE statement only
|
4311 |
|
|
in specification part of modules.
|
4312 |
|
|
(gfc_match_public): Ditto for PUBLIC.
|
4313 |
|
|
(gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
|
4314 |
|
|
specificification part of modules.
|
4315 |
|
|
|
4316 |
|
|
2007-04-07 Paul Thomas
|
4317 |
|
|
|
4318 |
|
|
PR fortran/31257
|
4319 |
|
|
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
|
4320 |
|
|
* intrinsic.h : Add prototype for gfc_resolve_achar.
|
4321 |
|
|
* iresolve.c (gfc_resolve_achar): New function.
|
4322 |
|
|
|
4323 |
|
|
2007-04-07 Paul Thomas
|
4324 |
|
|
|
4325 |
|
|
PR fortran/30880
|
4326 |
|
|
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
|
4327 |
|
|
arrays. Make condition for automatic array error explicit.
|
4328 |
|
|
If a dummy, no error on an INTENT(OUT) derived type.
|
4329 |
|
|
|
4330 |
|
|
2007-04-07 Paul Thomas
|
4331 |
|
|
|
4332 |
|
|
PR fortran/30872
|
4333 |
|
|
* expr.c (find_array_element): Correct arithmetic for rank > 1.
|
4334 |
|
|
|
4335 |
|
|
2007-04-07 Paul Thomas
|
4336 |
|
|
|
4337 |
|
|
PR fortran/31222
|
4338 |
|
|
* check.c (numeric_check): If an expresson has not got a type,
|
4339 |
|
|
see if it is a symbol for which a default type applies.
|
4340 |
|
|
|
4341 |
|
|
2007-04-07 Paul Thomas
|
4342 |
|
|
|
4343 |
|
|
PR fortran/31214
|
4344 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
|
4345 |
|
|
associated symbols.
|
4346 |
|
|
|
4347 |
|
|
2007-04-07 Paul Thomas
|
4348 |
|
|
|
4349 |
|
|
PR fortran/31293
|
4350 |
|
|
* symbol.c (gfc_check_function_type): New function.
|
4351 |
|
|
* gfortran.h : Add prototype for previous.
|
4352 |
|
|
* parse.c (parse_progunit): Call it after parsing specification
|
4353 |
|
|
statements.
|
4354 |
|
|
|
4355 |
|
|
2007-04-05 Paul Thomas
|
4356 |
|
|
|
4357 |
|
|
PR fortran/31483
|
4358 |
|
|
* trans-expr.c (gfc_conv_function_call): Give a dummy
|
4359 |
|
|
procedure the correct type if it has alternate returns.
|
4360 |
|
|
|
4361 |
|
|
2007-04-05 Paul Thomas
|
4362 |
|
|
|
4363 |
|
|
PR fortran/31292
|
4364 |
|
|
* decl.c (gfc_match_modproc): Go up to the top of the namespace
|
4365 |
|
|
tree to find the module namespace for gfc_get_symbol.
|
4366 |
|
|
|
4367 |
|
|
2007-04-03 Francois-Xavier Coudert
|
4368 |
|
|
|
4369 |
|
|
PR fortran/31304
|
4370 |
|
|
* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
|
4371 |
|
|
* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
|
4372 |
|
|
(gfc_init_types): Define gfc_charlen_int_kind.
|
4373 |
|
|
* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
|
4374 |
|
|
* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
|
4375 |
|
|
(gfc_build_intrinsic_function_decls): Don't set
|
4376 |
|
|
gfor_fndecl_string_repeat.
|
4377 |
|
|
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
|
4378 |
|
|
so that we don't have to call a library function.
|
4379 |
|
|
* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
|
4380 |
|
|
checks on the NCOPIES argument, and work with arbitrary size
|
4381 |
|
|
arguments.
|
4382 |
|
|
|
4383 |
|
|
2007-03-31 Tobias Burnus
|
4384 |
|
|
|
4385 |
|
|
* intrinsic.c (add_functions): Fix name of dummy argument
|
4386 |
|
|
for new_line and exit intrinsic.
|
4387 |
|
|
|
4388 |
|
|
2007-03-31 Paul Thomas
|
4389 |
|
|
|
4390 |
|
|
PR fortran/31160
|
4391 |
|
|
* gfortran.texi: Add a section for the %VAL, %REF and %LOC
|
4392 |
|
|
extensions.
|
4393 |
|
|
|
4394 |
|
|
2007-03-30 Rafael Ávila de Espíndola
|
4395 |
|
|
|
4396 |
|
|
* trans-types.c (gfc_signed_or_unsigned_type): Remove.
|
4397 |
|
|
(gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
|
4398 |
|
|
gfc_signed_or_unsigned_type.
|
4399 |
|
|
(gfc_signed_type): Ditto.
|
4400 |
|
|
* trans-types.h (gfc_signed_or_unsigned_type): Remove.
|
4401 |
|
|
* f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
|
4402 |
|
|
|
4403 |
|
|
2007-03-30 Tobias Schlüter
|
4404 |
|
|
|
4405 |
|
|
* symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
|
4406 |
|
|
descend into all branches.
|
4407 |
|
|
|
4408 |
|
|
2007-03-29 Tobias Schlüter
|
4409 |
|
|
|
4410 |
|
|
* intrinsic.c (conv_name): Let gfc_get_string handle the format.
|
4411 |
|
|
(find_conv): Compare pointers instead of calling strcmp.
|
4412 |
|
|
(find_sym): Likewise, but ensure that the compared pointer is in
|
4413 |
|
|
the global string table.
|
4414 |
|
|
|
4415 |
|
|
2007-03-28 Tobias Schlüter
|
4416 |
|
|
|
4417 |
|
|
* gfc-internals.texi: Fix output filename. Merge type index into
|
4418 |
|
|
concept index. Start documentation of gfc_code structure.
|
4419 |
|
|
|
4420 |
|
|
2007-03-26 Brooks Moses
|
4421 |
|
|
|
4422 |
|
|
* gfc-internals.texi: New file,
|
4423 |
|
|
* Make-lang.in: Add rules to convert it to dvi, pdf, and info.
|
4424 |
|
|
|
4425 |
|
|
2007-03-26 Brooks Moses
|
4426 |
|
|
|
4427 |
|
|
* error.c (show_locus): Remove always-false test.
|
4428 |
|
|
|
4429 |
|
|
2007-03-26 Brooks Moses
|
4430 |
|
|
|
4431 |
|
|
* lang.opt: Minor edits to descriptions.
|
4432 |
|
|
|
4433 |
|
|
2007-03-25 Francois-Xavier Coudert
|
4434 |
|
|
|
4435 |
|
|
PR fortran/30877
|
4436 |
|
|
* fortran/interface.c (check_operator_interface): Implement
|
4437 |
|
|
the standard checks on user operators extending intrinsic operators.
|
4438 |
|
|
* fortran/resolve.c (resolve_operator): If the ranks of operators
|
4439 |
|
|
don't match, don't error out but try the user-defined ones first.
|
4440 |
|
|
|
4441 |
|
|
2007-03-24 Francois-Xavier Coudert
|
4442 |
|
|
|
4443 |
|
|
PR fortran/30655
|
4444 |
|
|
* expr.c (check_dimension): Fix logic of comparisons.
|
4445 |
|
|
|
4446 |
|
|
2007-03-24 Paul Thomas
|
4447 |
|
|
|
4448 |
|
|
PR fortran/31215
|
4449 |
|
|
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
|
4450 |
|
|
int result that is non-zero if the expression is the function
|
4451 |
|
|
result. Only the characteristics of the result expression
|
4452 |
|
|
can be used in a procedure interface, so simplify LEN in situ
|
4453 |
|
|
using its character length.
|
4454 |
|
|
|
4455 |
|
|
PR fortran/31209
|
4456 |
|
|
PR fortran/31200
|
4457 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not use
|
4458 |
|
|
gfc_conv_expr_reference for actual pointer function with formal
|
4459 |
|
|
target because a temporary is created that does not transfer
|
4460 |
|
|
the reference correctly. Do not indirect formal pointer
|
4461 |
|
|
functions since it is the function reference that is needed.
|
4462 |
|
|
|
4463 |
|
|
2007-03-24 Brooks Moses
|
4464 |
|
|
|
4465 |
|
|
* gfortran.h: Edit comments on GFC_STD_*.
|
4466 |
|
|
|
4467 |
|
|
2007-03-23 Brooks Moses
|
4468 |
|
|
|
4469 |
|
|
* invoke.texi: Misc. small typo fixes.
|
4470 |
|
|
(-Wcharacter-truncation): Add.
|
4471 |
|
|
(-Wnonstd-intrinsics): Correct spelling.
|
4472 |
|
|
(-std=): Edit.
|
4473 |
|
|
(-fintrinsic-modules-path): Add.
|
4474 |
|
|
|
4475 |
|
|
2007-03-23 Francois-Xavier Coudert
|
4476 |
|
|
|
4477 |
|
|
PR fortran/30834
|
4478 |
|
|
* arith.c (complex_pow): Rewrite to handle large power.
|
4479 |
|
|
(gfc_arith_power): Handle large power in the real and integer
|
4480 |
|
|
cases.
|
4481 |
|
|
|
4482 |
|
|
2007-03-22 Francois-Xavier Coudert
|
4483 |
|
|
|
4484 |
|
|
PR fortran/31262
|
4485 |
|
|
* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
|
4486 |
|
|
larger than twice the width of a HOST_WIDE_INT.
|
4487 |
|
|
|
4488 |
|
|
2007-03-22 Paul Thomas
|
4489 |
|
|
|
4490 |
|
|
PR fortran/31193
|
4491 |
|
|
* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
|
4492 |
|
|
(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
|
4493 |
|
|
Explicitly extract TREE_TYPEs for source and mold. Use these
|
4494 |
|
|
to calculate length of source and mold, except for characters,
|
4495 |
|
|
where the se string_length is used. For mold, the TREE_TYPE is
|
4496 |
|
|
recalculated using gfc_get_character_type_len so that the
|
4497 |
|
|
result is correctly cast for character literals and substrings.
|
4498 |
|
|
Do not use gfc_typenode_for_spec for the final cast.
|
4499 |
|
|
|
4500 |
|
|
2007-03-22 Tobias Schlüter
|
4501 |
|
|
|
4502 |
|
|
PR fortran/20897
|
4503 |
|
|
* decl.c (gfc_match_derived_decl): Reliably reject
|
4504 |
|
|
'doubleprecision' and 'doublecomplex' as type names.
|
4505 |
|
|
|
4506 |
|
|
2007-03-19 Francois-Xavier Coudert
|
4507 |
|
|
|
4508 |
|
|
PR fortran/31203
|
4509 |
|
|
* trans-expr.c (gfc_trans_init_string_length): Length should
|
4510 |
|
|
never be negative.
|
4511 |
|
|
(gfc_conv_function_call): Likewise.
|
4512 |
|
|
|
4513 |
|
|
2007-03-18 Paul Thomas
|
4514 |
|
|
|
4515 |
|
|
PR fortran/30531
|
4516 |
|
|
PR fortran/31086
|
4517 |
|
|
* symbo.c : Add gfc_derived_types.
|
4518 |
|
|
(gfc_free_dt_list): Free derived type list gfc_derived_types.
|
4519 |
|
|
(gfc_free_namespace): Remove call to gfc_free_dt_list.
|
4520 |
|
|
(gfc_symbol_done_2): Call gfc_free_dt_list.
|
4521 |
|
|
* gfortran.h : Declare gfc_derived_types to be external. Remove
|
4522 |
|
|
derived types field from gfc_namespace.
|
4523 |
|
|
* resolve.c (resolve_fl_derived): Refer to gfc_derived types
|
4524 |
|
|
rather than namespace derived_types.
|
4525 |
|
|
(resolve_fntype): Remove special treatment for module
|
4526 |
|
|
derived type functions.
|
4527 |
|
|
* trans-types.c (gfc_get_derived_type): Remove search for like
|
4528 |
|
|
derived types. Finish by copying back end declaration to like
|
4529 |
|
|
derived types in the derived type list gfc_derived_types.
|
4530 |
|
|
|
4531 |
|
|
2007-03-17 Francois-Xavier Coudert
|
4532 |
|
|
|
4533 |
|
|
PR fortran/31120
|
4534 |
|
|
* trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
|
4535 |
|
|
(gfc_conv_cst_int_power): Handle integer exponent with care,
|
4536 |
|
|
since it might be too large for us.
|
4537 |
|
|
|
4538 |
|
|
2007-03-17 Francois-Xavier Coudert
|
4539 |
|
|
|
4540 |
|
|
PR fortran/31184
|
4541 |
|
|
* invoke.texi: Fix typo.
|
4542 |
|
|
|
4543 |
|
|
2007-03-16 Tobias Burnus
|
4544 |
|
|
|
4545 |
|
|
* trans-decl.c (gfc_generate_function_code): Use all arguments of
|
4546 |
|
|
set_std.
|
4547 |
|
|
|
4548 |
|
|
2007-03-15 Francois-Xavier Coudert
|
4549 |
|
|
|
4550 |
|
|
* gfortran.h (gfc_option_t): Add flag_backtrace field.
|
4551 |
|
|
* lang.opt: Add -fbacktrace option.
|
4552 |
|
|
* invoke.texi: Document the new option.
|
4553 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
4554 |
|
|
option to the call to set_std.
|
4555 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
4556 |
|
|
new option.
|
4557 |
|
|
|
4558 |
|
|
2007-03-15 Tobias Burnus
|
4559 |
|
|
Paul Thomas
|
4560 |
|
|
|
4561 |
|
|
PR fortran/30922
|
4562 |
|
|
* decl.c (gfc_match_import): If the parent of the current name-
|
4563 |
|
|
space is null, try looking for an imported symbol in the parent
|
4564 |
|
|
of the proc_name interface.
|
4565 |
|
|
* resolve.c (resolve_fl_variable): Do not check for blocking of
|
4566 |
|
|
host association by a same symbol, if the symbol is in an
|
4567 |
|
|
interface body.
|
4568 |
|
|
|
4569 |
|
|
2007-03-15 Paul Thomas
|
4570 |
|
|
|
4571 |
|
|
PR fortran/30879
|
4572 |
|
|
* decl.c (match_data_constant): Before going on to try to match
|
4573 |
|
|
a name, try to match a structure component.
|
4574 |
|
|
|
4575 |
|
|
|
4576 |
|
|
PR fortran/30870
|
4577 |
|
|
* resolve.c (resolve_actual_arglist): Do not reject a generic
|
4578 |
|
|
actual argument if it has a same name specific interface.
|
4579 |
|
|
|
4580 |
|
|
PR fortran/31163
|
4581 |
|
|
* trans-array.c (parse_interface): Do not nullify allocatable
|
4582 |
|
|
components if the symbol has the saved attribute.
|
4583 |
|
|
|
4584 |
|
|
2007-03-14 Francois-Xavier Coudert
|
4585 |
|
|
|
4586 |
|
|
* trans-array.c (gfc_trans_auto_array_allocation): Replace
|
4587 |
|
|
fold(convert()) by fold_convert().
|
4588 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
4589 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
|
4590 |
|
|
build_int_cst instead of converting an integer_zero_node
|
4591 |
|
|
to the final type.
|
4592 |
|
|
|
4593 |
|
|
2007-03-14 Jakub Jelinek
|
4594 |
|
|
|
4595 |
|
|
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
|
4596 |
|
|
|
4597 |
|
|
2007-03-13 Brooks Moses
|
4598 |
|
|
|
4599 |
|
|
PR fortran/30933
|
4600 |
|
|
PR fortran/30948
|
4601 |
|
|
PR fortran/30953
|
4602 |
|
|
* intrinsics.texi (CHDIR): Fix argument names, note
|
4603 |
|
|
that STATUS must be a default integer.
|
4604 |
|
|
(CTIME): Fix argument names, note that RESULT must
|
4605 |
|
|
be a default integer.
|
4606 |
|
|
(EXIT): Note that STATUS must be a default integer.
|
4607 |
|
|
|
4608 |
|
|
2007-03-13 Brooks Moses
|
4609 |
|
|
|
4610 |
|
|
PR fortran/28068
|
4611 |
|
|
* intrinsic.texi: General whitespace cleanup, remove
|
4612 |
|
|
comment about missing intrinsics.
|
4613 |
|
|
(menu): Add lines for new entries listed below.
|
4614 |
|
|
(ACOSH): Mention specific function DACOSH, correct
|
4615 |
|
|
description phrasing.
|
4616 |
|
|
(ASINH): Mention specific function DASINH, correct
|
4617 |
|
|
description phrasing.
|
4618 |
|
|
(ATANH): Mention specific function DATANH, correct
|
4619 |
|
|
description phrasing.
|
4620 |
|
|
(COS): Add index entry for CCOS.
|
4621 |
|
|
(CPU_TIME): Correct "REAL" to "REAL(*)".
|
4622 |
|
|
(EXP): Add index entry for CEXP.
|
4623 |
|
|
(INT): Correct argument name to "A".
|
4624 |
|
|
(INT2): New entry.
|
4625 |
|
|
(INT8): New entry.
|
4626 |
|
|
(LONG): New entry.
|
4627 |
|
|
(MAX): Add index entries for specific variants.
|
4628 |
|
|
(MCLOCK): New entry.
|
4629 |
|
|
(MCLOCK8): New entry.
|
4630 |
|
|
(SECNDS): Adjust to a more standard form.
|
4631 |
|
|
(SECOND): New entry.
|
4632 |
|
|
(TIME): Add cross-reference to MCLOCK.
|
4633 |
|
|
(TIME8): Add cross-reference to MCLOCK8.
|
4634 |
|
|
|
4635 |
|
|
2007-03-11 Paul Thomas
|
4636 |
|
|
|
4637 |
|
|
PR fortran/30883
|
4638 |
|
|
* parse.c (parse_interface): Use the default types from the
|
4639 |
|
|
formal namespace if a function or its result do not have a type
|
4640 |
|
|
after parsing the specification statements.
|
4641 |
|
|
|
4642 |
|
|
2007-03-08 Brooks Moses
|
4643 |
|
|
|
4644 |
|
|
* intrinsic.texi: (ICHAR) Improve internal I/O note.
|
4645 |
|
|
(ACHAR): Reference it.
|
4646 |
|
|
(CHAR): Reference it.
|
4647 |
|
|
(IACHAR): Reference it.
|
4648 |
|
|
|
4649 |
|
|
2007-03-08 Brooks Moses
|
4650 |
|
|
|
4651 |
|
|
* intrinsic.texi: (LINK) Document function form.
|
4652 |
|
|
(RENAME): Likewise.
|
4653 |
|
|
(SYMLNK): Likewise.
|
4654 |
|
|
(SYSTEM): Likewise.
|
4655 |
|
|
(UNLINK): Likewise.
|
4656 |
|
|
|
4657 |
|
|
2007-03-08 Brooks Moses
|
4658 |
|
|
|
4659 |
|
|
* intrinsic.texi: minor typo fixes, removed prologue.
|
4660 |
|
|
(FSEEK): moved to correct place in alphabetical order.
|
4661 |
|
|
|
4662 |
|
|
2007-03-08 Daniel Franke
|
4663 |
|
|
|
4664 |
|
|
PR fortran/30947
|
4665 |
|
|
* check.c (gfc_check_alarm_sub): Added check for default integer
|
4666 |
|
|
kind of status argument.
|
4667 |
|
|
* iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
|
4668 |
|
|
status argument.
|
4669 |
|
|
* intrinsic.texi (ALARM): Extended documentation.
|
4670 |
|
|
|
4671 |
|
|
2007-03-08 Daniel Franke
|
4672 |
|
|
|
4673 |
|
|
* intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
|
4674 |
|
|
(ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
|
4675 |
|
|
* intrinsic.c (add_subroutines): Adjusted dummy argument names
|
4676 |
|
|
of GERROR and TTYNAM.
|
4677 |
|
|
|
4678 |
|
|
2007-07-08 Tobias Burnus
|
4679 |
|
|
|
4680 |
|
|
* module.c (gfc_match_use): Support renaming of operators
|
4681 |
|
|
in USE statements.
|
4682 |
|
|
* gfortran.texi (Fortran 2003 Status): Document support of
|
4683 |
|
|
renaming of operators.
|
4684 |
|
|
|
4685 |
|
|
2007-07-08 Tobias Burnus
|
4686 |
|
|
|
4687 |
|
|
PR fortran/30973
|
4688 |
|
|
* module.c (read_module): Always import module name as symbol.
|
4689 |
|
|
(gfc_match_use): Disallow module name in the only clause of
|
4690 |
|
|
a use statement.
|
4691 |
|
|
|
4692 |
|
|
2007-03-08 Paul Thomas
|
4693 |
|
|
|
4694 |
|
|
PR fortran/31011
|
4695 |
|
|
* expr.c (find_array_section): Correct arithmetic for section
|
4696 |
|
|
size.
|
4697 |
|
|
|
4698 |
|
|
2007-03-07 Brooks Moses
|
4699 |
|
|
|
4700 |
|
|
* iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
|
4701 |
|
|
|
4702 |
|
|
2007-03-06 Daniel Franke
|
4703 |
|
|
|
4704 |
|
|
PR documentation/30950
|
4705 |
|
|
* intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
|
4706 |
|
|
(FREE): Fix call syntax.
|
4707 |
|
|
|
4708 |
|
|
2007-03-06 Brooks Moses
|
4709 |
|
|
|
4710 |
|
|
* intrinsic.texi: Limit column widths to a total of .85.
|
4711 |
|
|
|
4712 |
|
|
2007-03-05 Brooks Moses
|
4713 |
|
|
|
4714 |
|
|
* gfortran.texi (GFortran and G77): Rewrite completely.
|
4715 |
|
|
|
4716 |
|
|
2007-03-05 Brooks Moses
|
4717 |
|
|
|
4718 |
|
|
* match.c (gfc_match_name): Expanded comment.
|
4719 |
|
|
|
4720 |
|
|
2007-03-05 Brooks Moses
|
4721 |
|
|
|
4722 |
|
|
* gfortran.texi (Old-style kind specifications): Document
|
4723 |
|
|
special handling of old-style kind specifiers for COMPLEX.
|
4724 |
|
|
* decl.c (gfc_match_old_kind_spec): Document kind/bytesize
|
4725 |
|
|
assumptions for COMPLEX in comment.
|
4726 |
|
|
|
4727 |
|
|
2007-03-05 Brooks Moses
|
4728 |
|
|
|
4729 |
|
|
PR 31050
|
4730 |
|
|
* gfortranspec.c (lang_specific_driver): Update program
|
4731 |
|
|
name and copyright date.
|
4732 |
|
|
|
4733 |
|
|
2007-03-03 Paul Thomas
|
4734 |
|
|
|
4735 |
|
|
PR fortran/30882
|
4736 |
|
|
* check.c (dim_rank_check): The shape of subsections of
|
4737 |
|
|
assumed-size arrays is known.
|
4738 |
|
|
|
4739 |
|
|
2007-03-02 Paul Thomas
|
4740 |
|
|
Tobias Burnus
|
4741 |
|
|
|
4742 |
|
|
PR fortran/30873
|
4743 |
|
|
* decl.c (gfc_match_entry): Remove erroneous entry result check.
|
4744 |
|
|
|
4745 |
|
|
2007-03-01 Brooks Moses
|
4746 |
|
|
|
4747 |
|
|
* Make-lang.in: Add install-pdf target as copied from
|
4748 |
|
|
automake v1.10 rules.
|
4749 |
|
|
|
4750 |
|
|
2007-03-01 Tobias Burnus
|
4751 |
|
|
|
4752 |
|
|
PR fortran/30865
|
4753 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
|
4754 |
|
|
|
4755 |
|
|
2007-02-28 Tobias Burnus
|
4756 |
|
|
Paul Thomas
|
4757 |
|
|
|
4758 |
|
|
PR fortran/30888
|
4759 |
|
|
PR fortran/30887
|
4760 |
|
|
* resolve.c (resolve_actual_arglist): Allow by-value
|
4761 |
|
|
arguments and non-default-kind for %VAL().
|
4762 |
|
|
* trans-expr.c (conv_arglist_function): Allow
|
4763 |
|
|
non-default-kind for %VAL().
|
4764 |
|
|
|
4765 |
|
|
2007-02-28 Tobias Burnus
|
4766 |
|
|
|
4767 |
|
|
PR fortran/30968
|
4768 |
|
|
* primary.c (next_string_char): Correct reading a character
|
4769 |
|
|
after the delimiter.
|
4770 |
|
|
(match_string_constant): Print warning message only once.
|
4771 |
|
|
|
4772 |
|
|
2007-02-27 Richard Guenther
|
4773 |
|
|
|
4774 |
|
|
* trans-array.c (structure_alloc_comps): Use correct type
|
4775 |
|
|
for null pointer constant.
|
4776 |
|
|
|
4777 |
|
|
2007-02-26 Brooks Moses
|
4778 |
|
|
|
4779 |
|
|
* gfortran.texi: Standardize title page, remove version number
|
4780 |
|
|
from copyright page.
|
4781 |
|
|
|
4782 |
|
|
2007-02-26 Thomas Koenig
|
4783 |
|
|
Paul Thomas
|
4784 |
|
|
|
4785 |
|
|
PR fortran/30865
|
4786 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_size):
|
4787 |
|
|
If dim is an optional argument, check for its
|
4788 |
|
|
presence and call size0 or size1, respectively.
|
4789 |
|
|
|
4790 |
|
|
2007-02-23 Paul Thomas
|
4791 |
|
|
|
4792 |
|
|
PR fortran/30660
|
4793 |
|
|
* resolve.c (has_default_initializer): New function.
|
4794 |
|
|
(resolve_fl_variable): Call has_default_initializer to determine if
|
4795 |
|
|
the derived type has a default initializer to its ultimate
|
4796 |
|
|
components.
|
4797 |
|
|
|
4798 |
|
|
|
4799 |
|
|
2007-02-22 Jerry DeLisle
|
4800 |
|
|
|
4801 |
|
|
* options.c (set_default_std_flags): New function to consolidate
|
4802 |
|
|
setting the flags.
|
4803 |
|
|
(gfc_init_options): Use new function.
|
4804 |
|
|
(gfc_handle_option): Use new function.
|
4805 |
|
|
|
4806 |
|
|
2007-02-22 Brooks Moses
|
4807 |
|
|
|
4808 |
|
|
* gfortran.texi (Old-style kind specifications): Document
|
4809 |
|
|
special handling of old-style kind specifiers for COMPLEX.
|
4810 |
|
|
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
|
4811 |
|
|
assumptions in comment.
|
4812 |
|
|
|
4813 |
|
|
2007-02-21 Bernhard Fischer
|
4814 |
|
|
|
4815 |
|
|
* parse.c (next_free): Gooble spaces after OpenMP sentinel.
|
4816 |
|
|
|
4817 |
|
|
2007-02-20 Thomas Koenig
|
4818 |
|
|
|
4819 |
|
|
PR fortran/30869
|
4820 |
|
|
* match.c (gfc_match_iterator): Remove conflict between
|
4821 |
|
|
loop variable and pointer.
|
4822 |
|
|
|
4823 |
|
|
2007-02-20 Tobias Burnus
|
4824 |
|
|
|
4825 |
|
|
PR fortran/30522
|
4826 |
|
|
* symbol.c (gfc_add_volatile): Allow to set VOLATILE
|
4827 |
|
|
attribute for host-associated variables.
|
4828 |
|
|
* gfortran.h (symbol_attribute): Save namespace
|
4829 |
|
|
where VOLATILE has been set.
|
4830 |
|
|
* trans-decl.c (gfc_finish_var_decl): Move variable
|
4831 |
|
|
declaration to the top.
|
4832 |
|
|
|
4833 |
|
|
2007-02-20 Tobias Burnus
|
4834 |
|
|
|
4835 |
|
|
PR fortran/30783
|
4836 |
|
|
* resolve.c (resolve_symbol): Add character dummy VALUE check.
|
4837 |
|
|
|
4838 |
|
|
2007-02-19 Thomas Koenig
|
4839 |
|
|
|
4840 |
|
|
PR libfortran/30533
|
4841 |
|
|
* fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
|
4842 |
|
|
argument to default integer.
|
4843 |
|
|
(gfc_resolve_minloc): Likewise.
|
4844 |
|
|
|
4845 |
|
|
2007-02-18 Jerry DeLisle
|
4846 |
|
|
|
4847 |
|
|
PR fortran/30681
|
4848 |
|
|
* options.c (gfc_init_options): Relax warning level for obsolescent.
|
4849 |
|
|
* match.c (match_arithmetic_if): Change to obsolescent from deleted.
|
4850 |
|
|
(gfc_match_if): Same.
|
4851 |
|
|
|
4852 |
|
|
2007-02-18 Roger Sayle
|
4853 |
|
|
|
4854 |
|
|
* trans-array.c (gfc_build_constant_array_constructor): When the
|
4855 |
|
|
shape of the constructor is known, use that to construct the
|
4856 |
|
|
gfc_array_spec.
|
4857 |
|
|
(gfc_trans_constant_array_constructor): Initialize the "info"
|
4858 |
|
|
information for all of the dimensions of the array constructor.
|
4859 |
|
|
(constant_array_constructor_loop_size): New function.
|
4860 |
|
|
(gfc_trans_array_constructor): Use it to determine whether a
|
4861 |
|
|
loop is suitable for "constant array constructor" optimization.
|
4862 |
|
|
|
4863 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
|
4864 |
|
|
instead of build2, to avoid conditions like "(a != b) != 0".
|
4865 |
|
|
|
4866 |
|
|
2007-02-18 Roger Sayle
|
4867 |
|
|
Paul Thomas
|
4868 |
|
|
|
4869 |
|
|
PR fortran/30400
|
4870 |
|
|
* match.c (match_forall_iterator): Use gfc_match_expr instead
|
4871 |
|
|
of gfc_match_variable to match the iterator variable. Return
|
4872 |
|
|
MATCH_NO if not a variable. Remove the reset of the symbol's
|
4873 |
|
|
flavor in cleanup.
|
4874 |
|
|
|
4875 |
|
|
2007-02-16 Tobias Burnus
|
4876 |
|
|
|
4877 |
|
|
PR fortran/30793
|
4878 |
|
|
* trans-decl.c (gfc_generate_function_code): Do not initialize
|
4879 |
|
|
pointers to derived components.
|
4880 |
|
|
|
4881 |
|
|
2007-02-15 Sandra Loosemore
|
4882 |
|
|
Brooks Moses
|
4883 |
|
|
Lee Millward
|
4884 |
|
|
|
4885 |
|
|
* trans-expr.c (gfc_conv_power_op): Use build_call_expr.
|
4886 |
|
|
(gfc_conv_string_tmp): Likewise.
|
4887 |
|
|
(gfc_conv_concat_op): Likewise.
|
4888 |
|
|
(gfc_build_compare_string): Likewise.
|
4889 |
|
|
(gfc_conv_function_call): Use build_call_list instead of build3.
|
4890 |
|
|
|
4891 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage): Use
|
4892 |
|
|
build_call_expr.
|
4893 |
|
|
(gfc_grow_array): Likewise.
|
4894 |
|
|
(gfc_trans_array_ctor_element): Likewise.
|
4895 |
|
|
(gfc_trans_array_constructor_value): Likewise.
|
4896 |
|
|
(gfc_array_allocate): Likewise.
|
4897 |
|
|
(gfc_array_deallocate): Likewise.
|
4898 |
|
|
(gfc_trans_auto_array_allocation): Likewise.
|
4899 |
|
|
(gfc_trans_dummy_array_bias): Likewise.
|
4900 |
|
|
(gfc_conv_array_parameter): Likewise.
|
4901 |
|
|
(gfc_trans_dealloc_allocated): Likewise.
|
4902 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
4903 |
|
|
|
4904 |
|
|
* trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
|
4905 |
|
|
(gfc_trans_omp_flush): Likewise.
|
4906 |
|
|
|
4907 |
|
|
* trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
|
4908 |
|
|
(gfc_trans_pause): Likewise.
|
4909 |
|
|
(gfc_trans_stop): Likewise.
|
4910 |
|
|
(gfc_trans_character_select): Likewise.
|
4911 |
|
|
(gfc_do_allocate): Likewise.
|
4912 |
|
|
(gfc_trans_assign_need_temp): Likewise.
|
4913 |
|
|
(gfc_trans_pointer_assign_need_temp): Likewise.
|
4914 |
|
|
(gfc_trans_forall_1): Likewise.
|
4915 |
|
|
(gfc_trans_where_2): Likewise.
|
4916 |
|
|
(gfc_trans_allocate): Likewise.
|
4917 |
|
|
(gfc_trans_deallocate): Likewise.
|
4918 |
|
|
|
4919 |
|
|
* trans.c (gfc_trans_runtime_check): Use build_call_expr.
|
4920 |
|
|
|
4921 |
|
|
* trans-io.c (gfc_trans_open): Use build_call_expr.
|
4922 |
|
|
(gfc_trans_close): Likewise.
|
4923 |
|
|
(build_filepos): Likewise.
|
4924 |
|
|
(gfc_trans_inquire): Likewise.
|
4925 |
|
|
(NML_FIRST_ARG): Delete.
|
4926 |
|
|
(NML_ADD_ARG): Delete.
|
4927 |
|
|
(transfer_namelist_element): Use build_call_expr.
|
4928 |
|
|
(build_dt): Likewise.
|
4929 |
|
|
(gfc_trans_dt_end): Likewise.
|
4930 |
|
|
(transfer_expr): Likewise.
|
4931 |
|
|
(transfer_array-desc): Likewise.
|
4932 |
|
|
|
4933 |
|
|
* trans-decl.c (gfc_generate_function_code): Use build_call_expr.
|
4934 |
|
|
(gfc_generate_constructors): Likewise.
|
4935 |
|
|
|
4936 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
|
4937 |
|
|
(gfc_conv_intrinsic_fdate): Likewise.
|
4938 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
4939 |
|
|
(gfc_conv_intrinsic_array_transfer): Likewise.
|
4940 |
|
|
(gfc_conv_associated): Likewise.
|
4941 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
4942 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
4943 |
|
|
(gfc_conv_intrinsic_repeat: Likewise.
|
4944 |
|
|
(gfc_conv_intrinsic_iargc): Likewise.
|
4945 |
|
|
|
4946 |
|
|
2007-02-14 Jerry DeLisle
|
4947 |
|
|
|
4948 |
|
|
PR fortran/30779
|
4949 |
|
|
* scanner.c (gfc_next_char_literal): Add check for end of file after
|
4950 |
|
|
call to advance_line.
|
4951 |
|
|
|
4952 |
|
|
2007-02-14 Steven G. Kargl
|
4953 |
|
|
|
4954 |
|
|
PR fortran/30799
|
4955 |
|
|
* primary.c (match_logical_constant): Return MATCH_ERROR on invalid
|
4956 |
|
|
kind.
|
4957 |
|
|
|
4958 |
|
|
2007-02-14 Steven G. Kargl
|
4959 |
|
|
|
4960 |
|
|
* misc.c (gfc_typename): Fix potential buffer overflow.
|
4961 |
|
|
|
4962 |
|
|
2007-02-13 Paul Thomas
|
4963 |
|
|
|
4964 |
|
|
PR fortran/30554
|
4965 |
|
|
* module.c (read_module): Set pointer_info to referenced if the
|
4966 |
|
|
symbol has no namespace.
|
4967 |
|
|
|
4968 |
|
|
2007-02-12 Nick Clifton
|
4969 |
|
|
|
4970 |
|
|
* lang.opt: Add Warning attribute to warning options.
|
4971 |
|
|
|
4972 |
|
|
2007-02-11 Daniel Franke
|
4973 |
|
|
|
4974 |
|
|
* intrinsic.texi (HOSTNM): Fix typographical error in syntax.
|
4975 |
|
|
(SLEEP): Added section and documentation.
|
4976 |
|
|
|
4977 |
|
|
2007-02-11 Tobias Schlüter
|
4978 |
|
|
|
4979 |
|
|
PR fortran/30478
|
4980 |
|
|
* decl.c (add_init_expr_to_sym): Remove ENUM specific code.
|
4981 |
|
|
(variable_decl): Likewise. Rewrap comment.
|
4982 |
|
|
(match_attr_spec): Remove ENUM specific code.
|
4983 |
|
|
(gfc_match_enum): Fix typo in error message.
|
4984 |
|
|
(enumerator_decl): New function.
|
4985 |
|
|
(gfc_match_enumerator_def): Use enumerator_decl instead of
|
4986 |
|
|
variable_decl. Adapt code accordingly.
|
4987 |
|
|
|
4988 |
|
|
2007-02-11 Paul Thomas
|
4989 |
|
|
|
4990 |
|
|
PR fortran/30554
|
4991 |
|
|
* module.c (find_symtree_for_symbol): New function to return
|
4992 |
|
|
a symtree that is not a "unique symtree" given a symbol.
|
4993 |
|
|
(read_module): Do not automatically set pointer_info to
|
4994 |
|
|
referenced because this inhibits the generation of a unique
|
4995 |
|
|
symtree. Recycle the existing symtree if possible by calling
|
4996 |
|
|
find_symtree_for_symbol.
|
4997 |
|
|
|
4998 |
|
|
PR fortran/30319
|
4999 |
|
|
* decl.c (add_init_expr_to_sym): Make new charlen for an array
|
5000 |
|
|
constructor initializer.
|
5001 |
|
|
|
5002 |
|
|
2007-02-10 Richard Henderson , Jakub Jelinek
|
5003 |
|
|
|
5004 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
|
5005 |
|
|
and __emutls_register_common.
|
5006 |
|
|
* openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
|
5007 |
|
|
* trans-common.c (build_common_decl): Don't check have_tls.
|
5008 |
|
|
* trans-decl.c (gfc_finish_var_decl): Likewise.
|
5009 |
|
|
* types.def (BT_WORD, BT_FN_PTR_PTR): New.
|
5010 |
|
|
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
|
5011 |
|
|
|
5012 |
|
|
2007-02-09 Tobias Burnus
|
5013 |
|
|
|
5014 |
|
|
PR fortran/30512
|
5015 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
|
5016 |
|
|
gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
|
5017 |
|
|
|
5018 |
|
|
2007-02-09 Francois-Xavier Coudert
|
5019 |
|
|
|
5020 |
|
|
PR fortran/30720
|
5021 |
|
|
* trans-array.c (gfc_trans_create_temp_array): Remove use of the
|
5022 |
|
|
function argument. Always generate code for negative extent.
|
5023 |
|
|
Simplify said code.
|
5024 |
|
|
* trans-array.h (gfc_trans_create_temp_array): Change prototype.
|
5025 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove use of last argument
|
5026 |
|
|
of gfc_trans_create_temp_array.
|
5027 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
|
5028 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
|
5029 |
|
|
|
5030 |
|
|
2007-02-08 Roger Sayle
|
5031 |
|
|
|
5032 |
|
|
* trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
|
5033 |
|
|
mask expression is a compile-time constant (".true." or ".false.").
|
5034 |
|
|
|
5035 |
|
|
2007-02-04 Francois-Xavier Coudert
|
5036 |
|
|
|
5037 |
|
|
PR fortran/30611
|
5038 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
|
5039 |
|
|
arguments only once. Generate check that NCOPIES argument is not
|
5040 |
|
|
negative.
|
5041 |
|
|
|
5042 |
|
|
2007-02-04 Steven G. Kargl
|
5043 |
|
|
|
5044 |
|
|
PR fortran/30605
|
5045 |
|
|
* fortran/invoke.texi: Update documentation.
|
5046 |
|
|
* fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
|
5047 |
|
|
and -pedantic.
|
5048 |
|
|
|
5049 |
|
|
2007-02-03 Kazu Hirata
|
5050 |
|
|
|
5051 |
|
|
* trans-array.c: Fix a comment typo.
|
5052 |
|
|
|
5053 |
|
|
2007-02-03 Paul Thomas
|
5054 |
|
|
|
5055 |
|
|
PR fortran/30514
|
5056 |
|
|
* array.c (match_array_element_spec): If the length of an array is
|
5057 |
|
|
negative, adjust the upper limit to make it zero length.
|
5058 |
|
|
|
5059 |
|
|
PR fortran/30660
|
5060 |
|
|
* resolve.c (pure_function, resolve_function): Initialize name to
|
5061 |
|
|
null to clear up build warnings.
|
5062 |
|
|
(resolve_fl_variable): Look at components explicitly to check for
|
5063 |
|
|
default initializer, rather than using gfc_default_initializer.
|
5064 |
|
|
|
5065 |
|
|
2007-02-02 Steven G. Kargl
|
5066 |
|
|
|
5067 |
|
|
PR fortran/30683
|
5068 |
|
|
* resolve.c (resolve_generic_f): Check for non-NULL sym.
|
5069 |
|
|
|
5070 |
|
|
2007-02-02 Roger Sayle
|
5071 |
|
|
|
5072 |
|
|
* trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
|
5073 |
|
|
NON_LVALUE_EXPR nodes and useless type conversions.
|
5074 |
|
|
|
5075 |
|
|
2007-02-02 Paul Thomas
|
5076 |
|
|
|
5077 |
|
|
PR fortran/30284
|
5078 |
|
|
PR fortran/30626
|
5079 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
|
5080 |
|
|
from function and make sure that substring lengths are
|
5081 |
|
|
translated.
|
5082 |
|
|
(is_aliased_array): Remove static attribute.
|
5083 |
|
|
* trans.c : Add prototypes for gfc_conv_aliased_arg and
|
5084 |
|
|
is_aliased_array.
|
5085 |
|
|
* trans-io.c (set_internal_unit): Add the post block to the
|
5086 |
|
|
arguments of the function. Use is_aliased_array to check if
|
5087 |
|
|
temporary is needed; if so call gfc_conv_aliased_arg.
|
5088 |
|
|
(build_dt): Pass the post block to set_internal_unit and
|
5089 |
|
|
add to the block after all io activiy is done.
|
5090 |
|
|
|
5091 |
|
|
2007-02-01 Roger Sayle
|
5092 |
|
|
|
5093 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): We don't need to use
|
5094 |
|
|
a temporary array to pass a constant non-character array constructor.
|
5095 |
|
|
Generalize the descriptor generation code to handle scalarizer
|
5096 |
|
|
"info" without an array reference.
|
5097 |
|
|
|
5098 |
|
|
2007-02-01 Roger Sayle
|
5099 |
|
|
|
5100 |
|
|
* dependency.c (gfc_check_dependency) : Implement
|
5101 |
|
|
dependency checking for array constructors.
|
5102 |
|
|
|
5103 |
|
|
2007-02-01 Roger Sayle
|
5104 |
|
|
|
5105 |
|
|
* trans-stmt.c (compute_overall_iter_number): Document function
|
5106 |
|
|
arguments. Generalize "unconditional forall nest with constant
|
5107 |
|
|
bounds" optimization to eliminate unconditional inner loops with
|
5108 |
|
|
constant bounds.
|
5109 |
|
|
|
5110 |
|
|
2007-01-31 Tobias Burnus
|
5111 |
|
|
|
5112 |
|
|
PR fortran/30520
|
5113 |
|
|
* interface.c (compare_actual_formal): Check conformance between
|
5114 |
|
|
actual and VOLATILE dummy arguments.
|
5115 |
|
|
* symbol.c (gfc_add_volatile): Allow setting of VOLATILE
|
5116 |
|
|
multiple times in different scopes.
|
5117 |
|
|
* decl.c (gfc_match_volatile): Search symbol in host association.
|
5118 |
|
|
|
5119 |
|
|
2007-01-31 Kazu Hirata
|
5120 |
|
|
|
5121 |
|
|
* simplify.c, trans-array.c: Fix comment typos.
|
5122 |
|
|
|
5123 |
|
|
2007-01-30 Ralf Wildenhues
|
5124 |
|
|
|
5125 |
|
|
* invoke.texi (Code Gen Options): Fix abbreviation typo.
|
5126 |
|
|
* intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
|
5127 |
|
|
|
5128 |
|
|
2007-01-30 Steve Ellcey
|
5129 |
|
|
|
5130 |
|
|
PR fortran/30432
|
5131 |
|
|
* trans-types.c (gfc_get_function_type): Do not add void_type_node
|
5132 |
|
|
to empty arg list.
|
5133 |
|
|
* trans-decl.c (create_function_arglist): Change assert.
|
5134 |
|
|
|
5135 |
|
|
2007-01-29 Paul Thomas
|
5136 |
|
|
|
5137 |
|
|
PR fortran/30554
|
5138 |
|
|
* module.c (read_module): If a symbol is excluded by an ONLY
|
5139 |
|
|
clause, check to see if there is a symtree already loaded. If
|
5140 |
|
|
so, attach the symtree to the pointer_info.
|
5141 |
|
|
|
5142 |
|
|
2007-01-28 Thomas Koenig
|
5143 |
|
|
|
5144 |
|
|
PR libfortran/30389
|
5145 |
|
|
* gfortran.h: Remove gfc_simplify_init_1.
|
5146 |
|
|
* arith.h: Remove third argument from gfc_compare_string.
|
5147 |
|
|
* arith.c (gfc_compare_expression): Remove third argument
|
5148 |
|
|
from call to gfc_compare_string.
|
5149 |
|
|
(gfc_compare_string): Remove third argument xcoll_table.
|
5150 |
|
|
Remove use of xcoll_table.
|
5151 |
|
|
* misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
|
5152 |
|
|
* simplify.c (ascii_table): Remove.
|
5153 |
|
|
(xascii_table): Likewise.
|
5154 |
|
|
(gfc_simplify_achar): ICE if extract_int fails. Remove use of
|
5155 |
|
|
ascii_table. Warn if -Wsurprising and value < 0 or > 127.
|
5156 |
|
|
(gfc_simplify_char): ICE if extract_int fails. Error if
|
5157 |
|
|
value < 0 or value > 255.
|
5158 |
|
|
(gfc_simplify_iachar): Remove use of xascii_table.
|
5159 |
|
|
Char values outside of 0..255 are an ICE.
|
5160 |
|
|
(gfc_simplify_lge): Remove use of xascii_table.
|
5161 |
|
|
(gfc_simplify_lgt): Likewise.
|
5162 |
|
|
(gfc_simplify_lle): Likewise.
|
5163 |
|
|
(gfc_simplify_llt): Likewise.
|
5164 |
|
|
(invert_table): Remove.
|
5165 |
|
|
(gfc_simplify_init_1): Remove.
|
5166 |
|
|
|
5167 |
|
|
2007-01-27 Roger Sayle
|
5168 |
|
|
|
5169 |
|
|
* trans-stmt.c (forall_info): Replace the next_nest and outer
|
5170 |
|
|
fields that previously implemented a doubly-linked list with a
|
5171 |
|
|
single prev_nest field (singly-linked list).
|
5172 |
|
|
(gfc_trans_nested_forall_loop): The nested_forall_info argument
|
5173 |
|
|
now denotes the innermost FORALL in the loop nest.
|
5174 |
|
|
(compute_overall_iter_number): Use prev_nest instead of next_nest.
|
5175 |
|
|
(gfc_trans_forall_1): Link/cons the new "info" to the head of the
|
5176 |
|
|
nested_forall_info linked list. Free the current "info" when done.
|
5177 |
|
|
|
5178 |
|
|
2007-01-27 Paul Thomas
|
5179 |
|
|
|
5180 |
|
|
PR fortran/30407
|
5181 |
|
|
* trans-expr.c (gfc_conv_operator_assign): New function.
|
5182 |
|
|
* trans.h : Add prototype for gfc_conv_operator_assign.
|
5183 |
|
|
* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
|
5184 |
|
|
a potential operator assignment subroutine. If it is non-NULL
|
5185 |
|
|
call gfc_conv_operator_assign instead of the first assignment.
|
5186 |
|
|
( gfc_trans_where_2): In the case of an operator assignment,
|
5187 |
|
|
extract the argument expressions from the code for the
|
5188 |
|
|
subroutine call and pass the symbol to gfc_trans_where_assign.
|
5189 |
|
|
resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
|
5190 |
|
|
gfc_resolve_forall_body): Resolve the subroutine call for
|
5191 |
|
|
operator assignments.
|
5192 |
|
|
|
5193 |
|
|
2007-01-26 Steven Bosscher
|
5194 |
|
|
Steven G. Kargl
|
5195 |
|
|
|
5196 |
|
|
PR fortran/30278
|
5197 |
|
|
* fortran/io.c (next_char): Deal with backslash escaped characters.
|
5198 |
|
|
Issue warnings in non -std=gnu cases.
|
5199 |
|
|
* fortran/primary.c (next_string_char): Issue warnings in non
|
5200 |
|
|
|
5201 |
|
|
2007-01-26 Tobias Burnus
|
5202 |
|
|
|
5203 |
|
|
* lang-specs.h: Add support for .f03 and .F03 extensions.
|
5204 |
|
|
* gfortran.texi: Document .f03 extension.
|
5205 |
|
|
* options.c (form_from_filename): Recognize .f03.
|
5206 |
|
|
|
5207 |
|
|
2007-01-25 Manuel Lopez-Ibanez
|
5208 |
|
|
|
5209 |
|
|
PR fortran/30437
|
5210 |
|
|
* lang.opt (Wall): Remove RejectNegative.
|
5211 |
|
|
* options.c (gfc_handle_option): Wall can be disabled.
|
5212 |
|
|
(set_Wall): Add a parameter for disabling Wall.
|
5213 |
|
|
|
5214 |
|
|
2007-01-23 Jerry DeLisle
|
5215 |
|
|
|
5216 |
|
|
PR fortran/30532
|
5217 |
|
|
* scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
|
5218 |
|
|
|
5219 |
|
|
2007-01-23 Paul Thomas
|
5220 |
|
|
|
5221 |
|
|
PR fortran/30481
|
5222 |
|
|
* match.c (gfc_match_namelist): Add check for assumed size character
|
5223 |
|
|
in namelist and provide error if found.
|
5224 |
|
|
|
5225 |
|
|
2007-01-21 Brooks Moses
|
5226 |
|
|
|
5227 |
|
|
* intrinsic.texi (ACHAR): Added cross-references.
|
5228 |
|
|
(CHAR): Put cross-references in alphabetical order.
|
5229 |
|
|
(IACHAR): Added cross-references.
|
5230 |
|
|
(ICHAR): Added cross-references.
|
5231 |
|
|
|
5232 |
|
|
2007-01-20 Brooks Moses
|
5233 |
|
|
|
5234 |
|
|
* intrinsic.texi: Edited all "Syntax" examples to a consistent form.
|
5235 |
|
|
(MAXVAL): Corrected description of result characteristics.
|
5236 |
|
|
(MINVAL): Same.
|
5237 |
|
|
(UMASK): Added documentation.
|
5238 |
|
|
|
5239 |
|
|
2007-01-20 Steven G. Kargl
|
5240 |
|
|
|
5241 |
|
|
* openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
|
5242 |
|
|
parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
|
5243 |
|
|
in the massive whitespace patch.
|
5244 |
|
|
|
5245 |
|
|
2007-01-20 Roger Sayle
|
5246 |
|
|
|
5247 |
|
|
* module.c (mio_array_ref): The dimen_type fields of an array ref
|
5248 |
|
|
are an enumerated type and can't be read/written directly with a
|
5249 |
|
|
call to mio_integer. Instead loop over and cast each element.
|
5250 |
|
|
|
5251 |
|
|
2007-01-20 Roger Sayle
|
5252 |
|
|
|
5253 |
|
|
* dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
|
5254 |
|
|
i.e. that the ARRAY_REF doesn't mention components.
|
5255 |
|
|
* trans-array.c (gfc_constant_array_constructor_p): Export external
|
5256 |
|
|
function renamed from constant_array_constructor_p.
|
5257 |
|
|
(gfc_build_constant_array_constructor): Export.
|
5258 |
|
|
(gfc_trans_array_constructor): Update call to the renamed function
|
5259 |
|
|
constant_array_constructor_p.
|
5260 |
|
|
* trans-array.h (gfc_constant_array_constructor_p): Prototype here.
|
5261 |
|
|
(gfc_build_constant_array_constructor): Likewise.
|
5262 |
|
|
* trans-expr.c (gfc_build_memcpy_call): New helper function split
|
5263 |
|
|
out from gfc_trans_array_copy.
|
5264 |
|
|
(gfc_trans_array_copy): Use gfc_build_memcpy_call.
|
5265 |
|
|
(gfc_trans_array_constructor_copy): New function to optimize
|
5266 |
|
|
assigning an entire array from a constant array constructor.
|
5267 |
|
|
(gfc_trans_assignment): Call gfc_trans_array_constructor_copy
|
5268 |
|
|
when appropriate.
|
5269 |
|
|
|
5270 |
|
|
2007-01-20 Roger Sayle
|
5271 |
|
|
|
5272 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
|
5273 |
|
|
implementation for the SIGN intrinsic with integral operands.
|
5274 |
|
|
(gfc_conv_intrinsic_minmax): Fix whitespace.
|
5275 |
|
|
|
5276 |
|
|
2007-01-20 Francois-Xavier Coudert
|
5277 |
|
|
|
5278 |
|
|
* gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
|
5279 |
|
|
* lang.opt: Add -fallow-leading-underscore.
|
5280 |
|
|
* match.c (gfc_match_name): Allow leading underscore in symbol
|
5281 |
|
|
name if -fallow-leading-underscore is used.
|
5282 |
|
|
* symbol.c (gfc_get_default_type): Add special case for symbol
|
5283 |
|
|
names beginning with an underscore.
|
5284 |
|
|
* trans-decl.c (gfc_get_extern_function_decl,
|
5285 |
|
|
gfc_build_intrinsic_function_decls): Add _gfortran prefix to
|
5286 |
|
|
library symbols selected_int_kind, selected_real_kind and
|
5287 |
|
|
all specifics.
|
5288 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
5289 |
|
|
new -fallow-leading-underscore option.
|
5290 |
|
|
|
5291 |
|
|
2007-01-20 Francois-Xavier Coudert
|
5292 |
|
|
|
5293 |
|
|
PR fortran/30446
|
5294 |
|
|
* options.c (gfc_handle_module_path_options): Path used in -J
|
5295 |
|
|
option is now added to the module search path.
|
5296 |
|
|
|
5297 |
|
|
2007-01-20 Richard Guenther
|
5298 |
|
|
|
5299 |
|
|
PR fortran/30223
|
5300 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
|
5301 |
|
|
cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
|
5302 |
|
|
sincos builtins if the target has sincos.
|
5303 |
|
|
|
5304 |
|
|
2007-01-19 Brooks Moses
|
5305 |
|
|
|
5306 |
|
|
* intrinsic.texi (MATMUL): Corrected a typo.
|
5307 |
|
|
(MAX): Separated @var arguments.
|
5308 |
|
|
(MIN): Separated @var arguments.
|
5309 |
|
|
|
5310 |
|
|
2007-01-19 Brooks Moses
|
5311 |
|
|
|
5312 |
|
|
* intrinsic.texi: general whitespace cleanup.
|
5313 |
|
|
(menu): Added TIME8, removed UNMASK.
|
5314 |
|
|
(AINT): Clarified argument requirement.
|
5315 |
|
|
(ANINT): Clarified argument requirement.
|
5316 |
|
|
(CEILING): Clarified argument requirement.
|
5317 |
|
|
(CHAR): Clarified argument requirement.
|
5318 |
|
|
(CMPLX): Clarified argument requirement.
|
5319 |
|
|
(DCMPLX): Clarified argument requirement.
|
5320 |
|
|
(FGET): Line rewrapping.
|
5321 |
|
|
(FLOOR): Clarified argument requirement.
|
5322 |
|
|
(GMTIME): Added documentation.
|
5323 |
|
|
(IAND): Added cross-reference.
|
5324 |
|
|
(IBCLR): Added cross-reference.
|
5325 |
|
|
(IBSET): Added cross-reference.
|
5326 |
|
|
(IEOR): Added cross-reference.
|
5327 |
|
|
(INT): Collapsed examples, clarified argument requirement.
|
5328 |
|
|
(IOR): Added cross-references.
|
5329 |
|
|
(LEN_TRIM): Corrected result kind.
|
5330 |
|
|
(LINK): Added cross-reference.
|
5331 |
|
|
(LLT): Removed "documentation pending".
|
5332 |
|
|
(LOGICAL): Added documentation.
|
5333 |
|
|
(LSHIFT): Added documentation.
|
5334 |
|
|
(LTIME): Added documentation.
|
5335 |
|
|
(MATMUL): Added documentation.
|
5336 |
|
|
(MAX): Added documentation.
|
5337 |
|
|
(MAXLOC): Added documentation.
|
5338 |
|
|
(MAXVAL): Added documentation.
|
5339 |
|
|
(MERGE): Added documentation.
|
5340 |
|
|
(MIN): Added documentation.
|
5341 |
|
|
(MINLOC): Added documentation.
|
5342 |
|
|
(MINVAL): Added documentation.
|
5343 |
|
|
(MVBITS): Moved to correct place, added documentation.
|
5344 |
|
|
(NOT): Added documentation.
|
5345 |
|
|
(PERROR): Added documentation.
|
5346 |
|
|
(RAN): Moved to correct place, added documentation.
|
5347 |
|
|
(REAL): Clarified argument requirement.
|
5348 |
|
|
(RENAME): Added documentation.
|
5349 |
|
|
(RSHIFT): Clarified argument requirement.
|
5350 |
|
|
(SIGN): Corrected table specification.
|
5351 |
|
|
(SYMLNK): Added documentation.
|
5352 |
|
|
(SYSTEM): Added documentation.
|
5353 |
|
|
(TIME): Added documentation.
|
5354 |
|
|
(TIME8): Added section and documentation.
|
5355 |
|
|
(UNMASK): Removed erroneous section.
|
5356 |
|
|
|
5357 |
|
|
2007-01-18 H.J. Lu
|
5358 |
|
|
|
5359 |
|
|
* trans-stmt.c (compute_overall_iter_number): Fix a typo.
|
5360 |
|
|
|
5361 |
|
|
2007-01-18 Roger Sayle
|
5362 |
|
|
|
5363 |
|
|
* trans-expr.c (copyable_array_p): Consider user derived types without
|
5364 |
|
|
allocatable components to be copyable.
|
5365 |
|
|
|
5366 |
|
|
2007-01-18 Roger Sayle
|
5367 |
|
|
|
5368 |
|
|
* trans-stmt.c (compute_overall_iter_number): Enhance to precompute
|
5369 |
|
|
the number of interations in unconditional FORALL nests with constant
|
5370 |
|
|
bounds.
|
5371 |
|
|
|
5372 |
|
|
2007-01-18 Francois-Xavier Coudert
|
5373 |
|
|
Tobias Burnus
|
5374 |
|
|
|
5375 |
|
|
PR libfortran/29649
|
5376 |
|
|
* gfortran.h (gfc_option_t): Add flag_dump_core.
|
5377 |
|
|
* lang.opt: Add -fdump-core option.
|
5378 |
|
|
* invoke.texi: Document the new options.
|
5379 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
5380 |
|
|
options to the call to set_std.
|
5381 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Set the
|
5382 |
|
|
new options.
|
5383 |
|
|
|
5384 |
|
|
2007-01-17 Paul Thomas
|
5385 |
|
|
|
5386 |
|
|
PR fortran/30476
|
5387 |
|
|
* module.c (load_generic_interfaces): Make the marking of the
|
5388 |
|
|
symbol as ambiguous conditional on the module names being
|
5389 |
|
|
different.
|
5390 |
|
|
(write_generic): Ensure that the generic interface has a
|
5391 |
|
|
non-NULL module field.
|
5392 |
|
|
|
5393 |
|
|
2007-01-16 Roger Sayle
|
5394 |
|
|
|
5395 |
|
|
PR fortran/30404
|
5396 |
|
|
* trans-stmt.c (forall_info): Remove pmask field.
|
5397 |
|
|
(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
|
5398 |
|
|
NVAR covers all the interation variables in the current forall_info.
|
5399 |
|
|
Add an extra OUTER parameter, which specified the loop header in
|
5400 |
|
|
which to place mask index initializations.
|
5401 |
|
|
(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
|
5402 |
|
|
Change the semantics of MASK_FLAG to only control the mask in the
|
5403 |
|
|
innermost loop.
|
5404 |
|
|
(compute_overall_iter_number): Optimize the trivial case of a
|
5405 |
|
|
top-level loop having a constant number of iterations. Update
|
5406 |
|
|
call to gfc_trans_nested_forall_loop. Calculate the number of
|
5407 |
|
|
times the inner loop will be executed, not to size of the
|
5408 |
|
|
iteration space.
|
5409 |
|
|
(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
|
5410 |
|
|
sizeof(type) == 1. Tidy up.
|
5411 |
|
|
(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
|
5412 |
|
|
to gfc_trans_nested_forall_loop.
|
5413 |
|
|
(gfc_trans_pointer_assign_need_temp): Likewise.
|
5414 |
|
|
(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
|
5415 |
|
|
LENVAR local variables. Split mask allocation into a separate
|
5416 |
|
|
hunk/pass from mask population. Use allocate_temp_for_forall_nest
|
5417 |
|
|
to allocate the FORALL mask with the correct size. Update calls
|
5418 |
|
|
to gfc_trans_nested_forall_loop.
|
5419 |
|
|
(gfc_evaluate_where_mask): Update call to
|
5420 |
|
|
gfc_trans_nested_forall_loop.
|
5421 |
|
|
(gfc_trans_where_2): Likewise.
|
5422 |
|
|
|
5423 |
|
|
2007-01-15 Paul Thomas
|
5424 |
|
|
|
5425 |
|
|
PR fortran/28172
|
5426 |
|
|
* trans-stmt.c (gfc_trans_call): If it does not have one, get
|
5427 |
|
|
a backend_decl for an alternate return.
|
5428 |
|
|
|
5429 |
|
|
PR fortran/29389
|
5430 |
|
|
* resolve.c (pure_function): Statement functions are pure. Note
|
5431 |
|
|
that this will have to recurse to comply fully with F95.
|
5432 |
|
|
|
5433 |
|
|
PR fortran/29712
|
5434 |
|
|
* resolve.c (resolve_function): Only a reference to the final
|
5435 |
|
|
dimension of an assumed size array is an error in an inquiry
|
5436 |
|
|
function.
|
5437 |
|
|
|
5438 |
|
|
PR fortran/30283
|
5439 |
|
|
* resolve.c (resolve_function): Make sure that the function
|
5440 |
|
|
expression has a type.
|
5441 |
|
|
|
5442 |
|
|
2007-01-14 Paul Thomas
|
5443 |
|
|
|
5444 |
|
|
PR fortran/30410
|
5445 |
|
|
* trans-decl.c (gfc_sym_mangled_function_id): Module, external
|
5446 |
|
|
symbols must not have the module name prepended.
|
5447 |
|
|
|
5448 |
|
|
2007-01-11 Thomas Koenig
|
5449 |
|
|
|
5450 |
|
|
PR libfortran/30415
|
5451 |
|
|
* iresolve.c (gfc_resolve_maxloc): If the rank
|
5452 |
|
|
of the return array is nonzero and we process an
|
5453 |
|
|
integer array smaller than default kind, coerce
|
5454 |
|
|
the array to default integer.
|
5455 |
|
|
* iresolve.c (gfc_resolve_minloc): Likewise.
|
5456 |
|
|
|
5457 |
|
|
2007-01-11 Brooks Moses
|
5458 |
|
|
|
5459 |
|
|
* simplify.c: Update copyright to 2007.
|
5460 |
|
|
* scanner.c: Same.
|
5461 |
|
|
|
5462 |
|
|
2007-01-11 Francois-Xavier Coudert
|
5463 |
|
|
|
5464 |
|
|
PR fortran/30430
|
5465 |
|
|
* scanner.c (gfc_release_include_path): Free gfc_option.module_dir
|
5466 |
|
|
only once!
|
5467 |
|
|
|
5468 |
|
|
2007-01-09 Brooks Moses
|
5469 |
|
|
|
5470 |
|
|
* simplify.c (gfc_simplify_ibclr): Fix POS comparison.
|
5471 |
|
|
(gfc_simplify_ibset): Same.
|
5472 |
|
|
|
5473 |
|
|
2007-01-09 Brooks Moses
|
5474 |
|
|
|
5475 |
|
|
PR 30381
|
5476 |
|
|
PR 30420
|
5477 |
|
|
* simplify.c (convert_mpz_to_unsigned): New function.
|
5478 |
|
|
(convert_mpz_to_signed): New function, largely based on
|
5479 |
|
|
twos_complement().
|
5480 |
|
|
(twos_complement): Removed.
|
5481 |
|
|
(gfc_simplify_ibclr): Add conversions to and from an
|
5482 |
|
|
unsigned representation before bit-twiddling.
|
5483 |
|
|
(gfc_simplify_ibset): Same.
|
5484 |
|
|
(gfc_simplify_ishftc): Add checks for overly large
|
5485 |
|
|
constant arguments, only check the third argument if
|
5486 |
|
|
it's present, carry over high bits into the result as
|
5487 |
|
|
appropriate, and perform the final conversion back to
|
5488 |
|
|
a signed representation using the correct sign bit.
|
5489 |
|
|
(gfc_simplify_not): Removed unnecessary masking.
|
5490 |
|
|
|
5491 |
|
|
2007-01-09 Paul Thomas
|
5492 |
|
|
|
5493 |
|
|
PR fortran/30408
|
5494 |
|
|
* resolve.c (resolve_code): Use the code->expr character length
|
5495 |
|
|
directly to set length of llen.
|
5496 |
|
|
|
5497 |
|
|
2007-01-09 Jerry DeLisle
|
5498 |
|
|
|
5499 |
|
|
PR fortran/30408
|
5500 |
|
|
* lang.opt: Add Wcharacter_truncation option.
|
5501 |
|
|
* options.c (gfc_init_options): Initialize
|
5502 |
|
|
gfc_option.warn_character_truncation to zero.
|
5503 |
|
|
(gfc_handle_option): Add case for OPT_Wcharacter_truncation.
|
5504 |
|
|
|
5505 |
|
|
2007-01-08 Steven G. Kargl
|
5506 |
|
|
|
5507 |
|
|
* interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
|
5508 |
|
|
iresolve.c, match.c: Update Copyright years. Whitespace.
|
5509 |
|
|
|
5510 |
|
|
2007-01-08 Richard Guenther
|
5511 |
|
|
|
5512 |
|
|
* trans-io.c (transfer_array_desc): Use build_int_cst instead
|
5513 |
|
|
of build_int_cstu.
|
5514 |
|
|
|
5515 |
|
|
2007-01-08 Roger Sayle
|
5516 |
|
|
|
5517 |
|
|
* trans-array.c (constant_array_constructor_p): New function to
|
5518 |
|
|
determine whether an array constructor consists only of constant
|
5519 |
|
|
elements, and if so return it's size.
|
5520 |
|
|
(gfc_build_constant_array_constructor): Construct a statically
|
5521 |
|
|
initialized gfortran array for a given EXPR_ARRAY.
|
5522 |
|
|
(gfc_trans_constant_array_constructor): Efficiently scalarize
|
5523 |
|
|
a constant array constructor.
|
5524 |
|
|
(gfc_trans_array_constructor): Tidy up use of CONST_STRING.
|
5525 |
|
|
Special case scalarization of constant array constructors, all of
|
5526 |
|
|
whose elements are specified, using constant_array_constructor_p
|
5527 |
|
|
and gfc_trans_constant_array_constructor.
|
5528 |
|
|
(gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
|
5529 |
|
|
before adding it to index, to avoid creating a NON_LVALUE_EXPR.
|
5530 |
|
|
|
5531 |
|
|
2007-01-08 Kazu Hirata
|
5532 |
|
|
|
5533 |
|
|
gfortran.texi: Fix typos.
|
5534 |
|
|
|
5535 |
|
|
2007-01-07 Steven G. Kargl
|
5536 |
|
|
|
5537 |
|
|
* decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
|
5538 |
|
|
convert.c: Update Copyright dates. Fix whitespace.
|
5539 |
|
|
|
5540 |
|
|
2007-01-07 Bernhard Fischer
|
5541 |
|
|
|
5542 |
|
|
* data.c (gfc_assign_data_value): Fix whitespace.
|
5543 |
|
|
|
5544 |
|
|
2007-01-07 Bernhard Fischer
|
5545 |
|
|
|
5546 |
|
|
* trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
|
5547 |
|
|
Commentary typo fix.
|
5548 |
|
|
|
5549 |
|
|
2007-01-07 Bernhard Fischer
|
5550 |
|
|
|
5551 |
|
|
PR fortran/27698
|
5552 |
|
|
* match.c (gfc_match_name): Print diagnostics for invalid
|
5553 |
|
|
character in names.
|
5554 |
|
|
|
5555 |
|
|
2007-01-06 Steven G. Kargl
|
5556 |
|
|
|
5557 |
|
|
* array.c: Fix whitespace in comment table.
|
5558 |
|
|
|
5559 |
|
|
2007-01-06 Steven G. Kargl
|
5560 |
|
|
|
5561 |
|
|
* array.c, bbt.c, check.c: Update copyright years. Whitespace.
|
5562 |
|
|
|
5563 |
|
|
2007-01-06 Steven G. Kargl
|
5564 |
|
|
|
5565 |
|
|
* arith.c: Update copyright years. Whitespace.
|
5566 |
|
|
|
5567 |
|
|
2007-01-05 Roger Sayle
|
5568 |
|
|
|
5569 |
|
|
* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
|
5570 |
|
|
array assignments split out from gfc_trans_assignment.
|
5571 |
|
|
(gfc_trans_array_copy): New function to implement array to array
|
5572 |
|
|
copies via calls to __builtin_memcpy.
|
5573 |
|
|
(copyable_array_p): New helper function to identify an array of
|
5574 |
|
|
simple/POD types, that may be copied/assigned using memcpy.
|
5575 |
|
|
(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
|
5576 |
|
|
whole array assignments considered suitable by copyable_array_p.
|
5577 |
|
|
Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
|
5578 |
|
|
|
5579 |
|
|
2007-01-05 Roger Sayle
|
5580 |
|
|
|
5581 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): Make the
|
5582 |
|
|
static const "data" array as TREE_READONLY.
|
5583 |
|
|
* trans-stmt.c (gfc_trans_character_select): Likewise.
|
5584 |
|
|
|
5585 |
|
|
2007-01-05 Roger Sayle
|
5586 |
|
|
|
5587 |
|
|
* trans-array.c (gfc_conv_loop_setup): Test whether the loop
|
5588 |
|
|
stride is one, to avoid fold_build2 introducing a useless
|
5589 |
|
|
NON_LVALUE_EXPR node.
|
5590 |
|
|
|
5591 |
|
|
2007-01-05 Tobias Burnus
|
5592 |
|
|
|
5593 |
|
|
* symbol.c (check_conflict): Fix error message.
|
5594 |
|
|
|
5595 |
|
|
2007-01-05 Paul Thomas
|
5596 |
|
|
|
5597 |
|
|
PR fortran/23232
|
5598 |
|
|
* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
|
5599 |
|
|
functions to signal that a DATA statement is being matched.
|
5600 |
|
|
(gfc_match_data): Call gfc_set_in_match_data on entry and on
|
5601 |
|
|
exit.
|
5602 |
|
|
* gfortran.h : Add prototypes for above.
|
5603 |
|
|
* expr.c (check_init_expr): Avoid check on parameter or
|
5604 |
|
|
variable if gfc_in_match_data is true.
|
5605 |
|
|
(gfc_match_init_expr): Do not call error on non-reduction of
|
5606 |
|
|
expression if gfc_in_match_data is true.
|
5607 |
|
|
|
5608 |
|
|
PR fortran/27996
|
5609 |
|
|
PR fortran/27998
|
5610 |
|
|
* decl.c (gfc_set_constant_character_len): Add boolean arg to
|
5611 |
|
|
flag array constructor resolution. Warn if string is being
|
5612 |
|
|
truncated. Standard dependent error if string is padded. Set
|
5613 |
|
|
new arg to false for all three calls to
|
5614 |
|
|
gfc_set_constant_character_len.
|
5615 |
|
|
* match.h : Add boolean arg to prototype for
|
5616 |
|
|
gfc_set_constant_character_len.
|
5617 |
|
|
* gfortran.h : Add warn_character_truncation to gfc_options.
|
5618 |
|
|
* options.c (set_Wall): Set warn_character_truncation if -Wall
|
5619 |
|
|
is set.
|
5620 |
|
|
* resolve.c (resolve_code): Warn if rhs string in character
|
5621 |
|
|
assignment has to be truncated.
|
5622 |
|
|
* array.c (gfc_resolve_character_array_constructor): Set new
|
5623 |
|
|
argument to true for call to gfc_set_constant_character_len.
|
5624 |
|
|
|
5625 |
|
|
2007-01-05 Tobias Burnus
|
5626 |
|
|
|
5627 |
|
|
PR fortran/29624
|
5628 |
|
|
* interface.c (compare_parameter_intent): New function.
|
5629 |
|
|
(check_intents): Support pointer intents.
|
5630 |
|
|
* symbol.c (check_conflict): Support pointer intents,
|
5631 |
|
|
better conflict_std message.
|
5632 |
|
|
* expr.c (gfc_check_assign,gfc_check_pointer_assign):
|
5633 |
|
|
Support pointer intents.
|
5634 |
|
|
* resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
|
5635 |
|
|
Support pointer intents.
|
5636 |
|
|
|
5637 |
|
|
2007-01-03 Brooks Moses
|
5638 |
|
|
|
5639 |
|
|
PR 30371
|
5640 |
|
|
* check.c (gfc_check_kill_sub): Add checks for non-scalar
|
5641 |
|
|
arguments.
|
5642 |
|
|
|
5643 |
|
|
2007-01-04 Brooks Moses
|
5644 |
|
|
|
5645 |
|
|
* intrinsic.texi: Minor cleanup, reflowing overlong
|
5646 |
|
|
paragraphs, and correcting whitespace.
|
5647 |
|
|
|
5648 |
|
|
2007-01-04 Brooks Moses
|
5649 |
|
|
|
5650 |
|
|
* intrinsic.texi (LBOUND): Add documentation.
|
5651 |
|
|
(LGE): Add documentation.
|
5652 |
|
|
(LGT): Add documentation.
|
5653 |
|
|
(LINK): Add documentation.
|
5654 |
|
|
(LLE): Add documentation.
|
5655 |
|
|
(LLT): Add documentation.
|
5656 |
|
|
(LNBLNK): Add documentation.
|
5657 |
|
|
(UBOUND): Add documentation.
|
5658 |
|
|
(UNLINK): Add documentation.
|
5659 |
|
|
|
5660 |
|
|
2007-01-04 Brooks Moses
|
5661 |
|
|
|
5662 |
|
|
* intrinsic.texi (IAND): Clarify argument specifications.
|
5663 |
|
|
(IBCLR): Add documentation.
|
5664 |
|
|
(IBITS): Add documentation.
|
5665 |
|
|
(IBSET): Add documentation.
|
5666 |
|
|
(IEOR): Add documentation.
|
5667 |
|
|
(IERRNO): Add documentation.
|
5668 |
|
|
(INDEX): Add documentation.
|
5669 |
|
|
(IOR): Add documentation.
|
5670 |
|
|
(ISHFT): Add documentation.
|
5671 |
|
|
(ISHFTC): Add documentation.
|
5672 |
|
|
(KILL): Add documentation.
|
5673 |
|
|
(LEN_TRIM): Add documentation.
|
5674 |
|
|
|
5675 |
|
|
2007-01-04 Brooks Moses
|
5676 |
|
|
|
5677 |
|
|
PR 30235
|
5678 |
|
|
* interface.c (compare_actual_formal): check for
|
5679 |
|
|
alternate returns when iterating over non-present
|
5680 |
|
|
arguments.
|
5681 |
|
|
|
5682 |
|
|
2007-01-04 Brooks Moses
|
5683 |
|
|
|
5684 |
|
|
* invoke.texi: Update manpage copyright to include 2007.
|
5685 |
|
|
|
5686 |
|
|
2007-01-04 Brooks Moses
|
5687 |
|
|
|
5688 |
|
|
* gfortran.texi: Update copyright to include 2007.
|
5689 |
|
|
* intrinsic.texi: Update copyright to include 2007.
|
5690 |
|
|
* invoke.texi: Update copyright to include 2007.
|
5691 |
|
|
|
5692 |
|
|
2007-01-02 Tobias Burnus
|
5693 |
|
|
Jakub Jelinek
|
5694 |
|
|
|
5695 |
|
|
PR fortran/30276
|
5696 |
|
|
* scanner.c (open_included_file): Revert patch.
|
5697 |
|
|
(gfc_open_included_file): Support absolute pathnames.
|
5698 |
|
|
(gfc_open_intrinsic_module): Support absolute pathnames.
|
5699 |
|
|
|
5700 |
|
|
2007-01-03 Brooks Moses
|
5701 |
|
|
|
5702 |
|
|
* gfortran.texi (GNU Fortran and GCC): Rewrite
|
5703 |
|
|
|
5704 |
|
|
2007-01-03 Brooks Moses
|
5705 |
|
|
|
5706 |
|
|
* gfortran.texi (Introduction): Lower "Part I:
|
5707 |
|
|
Introduction" to a chapter, renumber Parts II and III to
|
5708 |
|
|
Parts I and II.
|
5709 |
|
|
* intrinsic.texi (Introduction): Rename to "Introduction
|
5710 |
|
|
to Intrinsics" to avoid conflict with the new chapter.
|
5711 |
|
|
|
5712 |
|
|
2007-01-03 Brooks Moses
|
5713 |
|
|
|
5714 |
|
|
* intrinsic.texi (Introduction): Rewrite first paragraph.
|
5715 |
|
|
|
5716 |
|
|
2007-01-03 Brooks Moses
|
5717 |
|
|
|
5718 |
|
|
* invoke.texi (OpenMP): Added index entry.
|
5719 |
|
|
* gfortran.texi (title page): Removed erroneous '*'.
|
5720 |
|
|
|
5721 |
|
|
2007-01-03 Brooks Moses
|
5722 |
|
|
|
5723 |
|
|
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
|
5724 |
|
|
to description.
|
5725 |
|
|
(Extensions): Miscellaneous minor rewriting and copyediting.
|
5726 |
|
|
(BOZ-literal constants): Renamed from Hexadecimal constants.
|
5727 |
|
|
(Hollerith constants support): Added explanation and
|
5728 |
|
|
suggestions for standard-conforming modern equivalents.
|
5729 |
|
|
|
5730 |
|
|
2007-01-03 Brooks Moses
|
5731 |
|
|
|
5732 |
|
|
* intrinsic.texi: Improvements to index entries; change
|
5733 |
|
|
@findex entries to @cindex entries.
|
5734 |
|
|
* invoke.texi: Standardize and improve index entries.
|
5735 |
|
|
* gfortran.texi: Fix @code in one index entry.
|
5736 |
|
|
|
5737 |
|
|
2007-01-03 Brooks Moses
|
5738 |
|
|
|
5739 |
|
|
* invoke.texi: Change @code-type macros to appropriate
|
5740 |
|
|
variants (@command, @option, etc.)
|
5741 |
|
|
* gfortran.texi: Same.
|
5742 |
|
|
|
5743 |
|
|
2007-01-03 Brooks Moses
|
5744 |
|
|
|
5745 |
|
|
* intrinsic.texi: Various minor cleanups.
|
5746 |
|
|
|
5747 |
|
|
2007-01-02 Steven G. Kargl
|
5748 |
|
|
|
5749 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
|
5750 |
|
|
build_int_cst.
|
5751 |
|
|
|
5752 |
|
|
2007-01-02 Tobias Burnus
|
5753 |
|
|
|
5754 |
|
|
PR fortran/30276
|
5755 |
|
|
* scanner.c (open_included_file): Support full-path filenames.
|
5756 |
|
|
|
5757 |
|
|
2007-01-02 Paul Thomas
|
5758 |
|
|
|
5759 |
|
|
PR fortran/20896
|
5760 |
|
|
* interface.c (check_sym_interfaces): Remove call to
|
5761 |
|
|
resolve_global_procedure.
|
5762 |
|
|
gfortran.h : Remove prototype for resolve_global_procedure.
|
5763 |
|
|
resolve.c (resolve_global_procedure): Add static attribute
|
5764 |
|
|
to function declaration.
|
5765 |
|
|
|
5766 |
|
|
2007-01-01 Steven G. Kargl
|
5767 |
|
|
|
5768 |
|
|
* ChangeLog: Copy to ...
|
5769 |
|
|
* ChangeLog-2006: here.
|
5770 |
|
|
|
5771 |
|
|
|
5772 |
|
|
Copyright (C) 2007 Free Software Foundation, Inc.
|
5773 |
|
|
|
5774 |
|
|
Copying and distribution of this file, with or without modification,
|
5775 |
|
|
are permitted in any medium without royalty provided the copyright
|
5776 |
|
|
notice and this notice are preserved.
|