]>
Commit | Line | Data |
---|---|---|
36eba48c | 1 | 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2 | ||
3 | * Make-lang.in (gfortranspec.o): Fix dependencies. | |
4 | ||
9864e200 | 5 | 2008-07-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
6 | ||
7 | PR fortran/36725 | |
8 | * io.c: Add error check for g0 edit descriptor followed by '.'. | |
9 | ||
e5977c6a | 10 | 2008-07-12 Daniel Kraft <d@domob.eu> |
11 | ||
12 | * resolve.c (resolve_fl_derived): Allow pointer components to empty | |
13 | derived types fixing a missing part of PR fortran/33221. | |
14 | ||
f397ca89 | 15 | 2008-07-10 Daniel Kraft <d@domob.eu> |
16 | ||
17 | * gfc-internals.texi (section gfc_expr): Created documentation about | |
18 | the gfc_expr internal data structure. | |
19 | ||
04ccfa1a | 20 | 2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
21 | ||
22 | PR fortran/36670 | |
23 | * iresolve.c (gfc_resolve_product): Set shape of return | |
24 | value from array. | |
25 | (gfc_resolve_sum): Likewise. | |
26 | ||
1d461789 | 27 | 2008-07-07 Jakub Jelinek <jakub@redhat.com> |
28 | ||
29 | PR middle-end/36726 | |
30 | * f95-lang.c (poplevel): Don't ever add subblocks to | |
31 | global_binding_level. | |
32 | ||
cad0ddcf | 33 | 2008-07-02 Janus Weil <janus@gcc.gnu.org> |
34 | Tobias Burnus <burnus@net-b.de> | |
35 | Paul Thomas <pault@gcc.gnu.org> | |
36 | ||
37 | PR fortran/32580 | |
38 | * gfortran.h (struct gfc_symbol): New member "proc_pointer". | |
39 | * check.c (gfc_check_associated,gfc_check_null): Implement | |
40 | procedure pointers. | |
41 | * decl.c (match_procedure_decl): Ditto. | |
42 | * expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol): Ditto. | |
43 | * interface.c (compare_actual_formal): Ditto. | |
44 | * match.h: Ditto. | |
45 | * match.c (gfc_match_pointer_assignment): Ditto. | |
46 | * parse.c (parse_interface): Ditto. | |
47 | * primary.c (gfc_match_rvalue,match_variable): Ditto. | |
48 | * resolve.c (resolve_fl_procedure): Ditto. | |
49 | * symbol.c (check_conflict,gfc_add_external,gfc_add_pointer, | |
50 | gfc_copy_attr,gen_fptr_param,build_formal_args): Ditto. | |
51 | * trans-decl.c (get_proc_pointer_decl,gfc_get_extern_function_decl, | |
52 | create_function_arglist): Ditto. | |
53 | * trans-expr.c (gfc_conv_variable,gfc_conv_function_val, | |
54 | gfc_conv_function_call,gfc_trans_pointer_assignment): Ditto. | |
55 | ||
3fc94dcd | 56 | 2008-07-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
57 | ||
58 | PR fortran/36590 | |
59 | PR fortran/36681 | |
60 | * iresolve.c (resolve_mask_arg): Don't convert mask to | |
61 | kind=1 logical if it is of that type already. | |
62 | ||
844d8493 | 63 | 2008-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
64 | ||
65 | PR fortran/36341 | |
66 | * iresolve.c (gfc_resolve_matmul): Copy shapes | |
67 | from arguments. | |
68 | ||
5e1555d4 | 69 | 2008-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
70 | ||
71 | * invoke.texi: Add documentation for runtime behavior of | |
72 | -fno-range-check. | |
73 | ||
15bb490a | 74 | 2008-06-28 Daniel Kraft <d@domob.eu> |
75 | ||
76 | * gfc-internals.texi (section gfc_code): Extended documentation about | |
77 | gfc_code in the internal datastructures chapter including details about | |
78 | how IF, DO and SELECT blocks look like and an example for how the | |
79 | block-chaining works. | |
80 | ||
471b69d0 | 81 | 2008-06-25 Paul Thomas <pault@gcc.gnu.org> |
82 | ||
83 | PR fortran/36526 | |
84 | * interface.c (check_intents): Correct error where the actual | |
85 | arg was checked for a pointer argument, rather than the formal. | |
86 | ||
b84a6ed9 | 87 | 2008-06-24 Paul Thomas <pault@gcc.gnu.org> |
88 | ||
89 | PR fortran/34371 | |
90 | * expr.c (gfc_check_assign): Change message and locus for | |
91 | error when conform == 0. | |
92 | ||
6a19fffb | 93 | 2008-06-23 Jakub Jelinek <jakub@redhat.com> |
94 | ||
95 | PR fortran/36597 | |
96 | * cpp.c (cpp_define_builtins): Change _OPENMP value to 200805. | |
97 | ||
296b5ce9 | 98 | 2008-06-20 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
99 | Tobias Burnus <burnus@net-b.de> | |
100 | ||
101 | PR fortran/34908 | |
102 | PR fortran/36276 | |
103 | * scanner.c (preprocessor_line): do not call gfc_free for | |
104 | current_file->filename if it differs from filename. | |
105 | ||
48d8ad5a | 106 | 2008-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
107 | ||
108 | * arith.c (hollerith2representation): Fix for -Wc++-compat. | |
109 | * array.c (gfc_get_constructor): Likewise. | |
110 | * decl.c (gfc_get_data_variable, gfc_get_data_value, gfc_get_data, | |
111 | create_enum_history, gfc_match_final_decl): Likewise. | |
112 | * error.c (error_char): Likewise. | |
113 | * expr.c (gfc_get_expr, gfc_copy_expr): Likewise. | |
114 | * gfortran.h (gfc_get_charlen, gfc_get_array_spec, | |
115 | gfc_get_component, gfc_get_formal_arglist, gfc_get_actual_arglist, | |
116 | gfc_get_namelist, gfc_get_omp_clauses, gfc_get_interface, | |
117 | gfc_get_common_head, gfc_get_dt_list, gfc_get_array_ref, | |
118 | gfc_get_ref, gfc_get_equiv, gfc_get_case, gfc_get_iterator, | |
119 | gfc_get_alloc, gfc_get_wide_string): Likewise. | |
120 | * interface.c (count_types_test): Likewise. | |
121 | * intrinsic.c (add_char_conversions, gfc_intrinsic_init_1): | |
122 | Likewise. | |
123 | * io.c (gfc_match_open, gfc_match_close, match_filepos, match_io, | |
124 | gfc_match_inquire, gfc_match_wait): Likewise. | |
125 | * match.c (gfc_match, match_forall_iterator): Likewise. | |
126 | * module.c (gfc_get_pointer_info, gfc_get_use_rename, add_fixup, | |
127 | add_true_name, parse_string, write_atom, quote_string, | |
128 | mio_symtree_ref, mio_gmp_real, write_common_0): Likewise. | |
129 | * options.c (gfc_post_options): Likewise. | |
130 | * primary.c (match_integer_constant, match_hollerith_constant, | |
131 | match_boz_constant, match_real_constant, | |
132 | gfc_get_structure_ctor_component, gfc_match_structure_constructor): Likewise. | |
133 | * scanner.c (gfc_widechar_to_char, add_path_to_list, | |
134 | add_file_change, load_line, get_file, preprocessor_line, | |
135 | load_file, unescape_filename, gfc_read_orig_filename): Likewise. | |
136 | * simplify.c (gfc_simplify_ibits, gfc_simplify_ishft, | |
137 | gfc_simplify_ishftc): Likewise. | |
138 | * symbol.c (gfc_get_st_label, gfc_get_namespace, gfc_new_symtree, | |
139 | gfc_get_uop, gfc_new_symbol, save_symbol_data, gfc_get_gsymbol): | |
140 | Likewise. | |
141 | * target-memory.c (gfc_target_interpret_expr): Likewise. | |
142 | * trans-const.c (gfc_build_wide_string_const): Likewise. | |
143 | * trans-expr.c (gfc_add_interface_mapping): Likewise. | |
144 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
145 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_lib_function, | |
146 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_ctime, | |
147 | gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, | |
148 | gfc_conv_intrinsic_minmax, gfc_conv_intrinsic_minmax_char, | |
149 | gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_index_scan_verify, | |
150 | gfc_conv_intrinsic_merge, gfc_conv_intrinsic_trim): Likewise. | |
151 | * trans.c (gfc_get_backend_locus): Likewise. | |
152 | * trans.h (gfc_get_ss): Likewise. | |
153 | ||
d1a39099 | 154 | 2008-06-18 Daniel Kraft <d@domob.eu> |
155 | ||
156 | PR fortran/36517, fortran/36492 | |
157 | * array.c (gfc_resolve_character_array_constructor): Call | |
158 | gfc_set_constant_character_len with changed length-chec argument. | |
159 | * decl.c (gfc_set_constant_character_len): Changed array argument to | |
160 | be a generic length-checking argument that can be used for correct | |
161 | checking with typespec and in special cases where the should-be length | |
162 | is different from the target length. | |
163 | (build_struct): Call gfc_set_constant_character_len with changed length | |
164 | checking argument and introduced additional checks for exceptional | |
165 | conditions on invalid code. | |
166 | (add_init_expr_to_sym), (do_parm): Call gfc_set_constant_character_len | |
167 | with changed argument. | |
168 | * match.h (gfc_set_constant_character_len): Changed third argument to | |
169 | int for the should-be length rather than bool. | |
170 | ||
f689ee2a | 171 | 2008-06-17 Daniel Kraft <d@domob.eu> |
172 | ||
173 | PR fortran/36112 | |
174 | * array.c (gfc_resolve_character_array_constructor): Check that all | |
175 | elements with constant character length have the same one rather than | |
176 | fixing it if no typespec is given, emit an error if they don't. Changed | |
177 | return type to "try" and return FAILURE for the case above. | |
178 | (gfc_resolve_array_constructor): Removed unneeded call to | |
179 | gfc_resolve_character_array_constructor in this function. | |
180 | * gfortran.h (gfc_resolve_character_array_constructor): Returns try. | |
181 | * trans-array.c (get_array_ctor_strlen): Return length of first element | |
182 | rather than last element. | |
183 | * resolve.c (gfc_resolve_expr): Handle FAILURE return from | |
184 | gfc_resolve_character_array_constructor. | |
185 | ||
00be3612 | 186 | 2008-06-17 Paul Thomas <pault@gcc.gnu.org> |
187 | ||
188 | PR fortran/34396 | |
189 | * resolve.c (add_dt_to_dt_list): New function. | |
190 | (resolve_fl_derived): Call new function for pointer components | |
191 | and when derived type resolved. | |
192 | ||
bd9c6afe | 193 | 2008-06-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
194 | ||
195 | PR fortran/36515 | |
196 | * trans-decl.c (gfc_generate_function_code): Add range_check to options | |
197 | array. | |
198 | ||
c24c5fac | 199 | 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
200 | ||
201 | * gfc-internals.texi: Expand TABs, drop indentation outside examples. | |
202 | * gfortran.texi: Likewise. | |
203 | * intrinsic.texi: Likewise. | |
204 | * invoke.texi: Likewise. | |
205 | ||
dc01006d | 206 | 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
207 | ||
208 | PR fortran/35863 | |
209 | * trans-io.c (gfc_build_io_library_fndecls): Build declaration for | |
210 | transfer_character_wide which includes passing in the character kind to | |
211 | support wide character IO. (transfer_expr): If the kind == 4, create the | |
212 | argument and build the call. | |
213 | * gfortran.texi: Fix typo. | |
214 | ||
f97d54ed | 215 | 2008-06-13 Tobias Burnus <burnus@net-b.de> |
216 | ||
217 | PR fortran/36476 | |
218 | * decl.c (do_parm): Handle init expression for len=*. | |
219 | ||
24f1d2c4 | 220 | 2008-06-12 Tobias Burnus <burnus@net-b.de> |
221 | ||
222 | PR fortran/36462 | |
223 | * trans-intrinsic.c (gfc_conv_intrinsic_index_scan_verify): | |
224 | Fix passing of the BACK= argument. | |
225 | ||
e5f28034 | 226 | 2008-06-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
227 | ||
228 | * cpp.c: Add copyright notice. | |
229 | * cpp.h: Add copyright notice. | |
230 | ||
7dff348f | 231 | 2008-06-08 Janus Weil <janus@gcc.gnu.org> |
232 | ||
233 | PR fortran/36459 | |
234 | * decl.c (match_procedure_decl): Correctly recognize if the interface | |
235 | is an intrinsic procedure. | |
236 | ||
82fb15c1 | 237 | 2008-06-08 Tobias Burnus <burnus@net-b.de> |
238 | ||
239 | PR fortran/35830 | |
240 | * resolve.c (resolve_symbol): Copy more attributes for | |
241 | PROCEDUREs with interfaces. | |
242 | ||
ef05b5a5 | 243 | 2008-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
244 | ||
58c59e77 | 245 | PR fortran/36420 |
246 | PR fortran/36422 | |
ef05b5a5 | 247 | * io.c (check_format): Add new error message for zero width. |
248 | Use new error message for FMT_A and with READ, FMT_G. Allow | |
249 | FMT_G with WRITE except when -std=F95 and -std=F2003. | |
250 | ||
189ffda5 | 251 | 2008-06-07 Tobias Burnus <burnus@net-b.de> |
252 | ||
995e6dad | 253 | PR fortran/36437 |
189ffda5 | 254 | * intrinsic.c (add_functions): Implement c_sizeof. |
255 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Do not | |
256 | create unneeded variable in the scalar case. | |
257 | * intrinsic.texi: Add C_SIZEOF documentation. | |
258 | ||
2c8e4834 | 259 | 2008-06-06 Tobias Burnus <burnus@net-b.de> |
260 | ||
261 | * intrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo. | |
262 | ||
fd6481cf | 263 | 2008-06-06 Jakub Jelinek <jakub@redhat.com> |
264 | ||
265 | * scanner.c (skip_free_comments, skip_fixed_comments): Handle tabs. | |
266 | * parse.c (next_free): Allow tab after !$omp. | |
267 | (decode_omp_directive): Handle !$omp task, !$omp taskwait | |
268 | and !$omp end task. | |
269 | (case_executable): Add ST_OMP_TASKWAIT. | |
270 | (case_exec_markers): Add ST_OMP_TASK. | |
271 | (gfc_ascii_statement): Handle ST_OMP_TASK, ST_OMP_END_TASK and | |
272 | ST_OMP_TASKWAIT. | |
273 | (parse_omp_structured_block, parse_executable): Handle ST_OMP_TASK. | |
274 | * gfortran.h (gfc_find_sym_in_expr): New prototype. | |
275 | (gfc_statement): Add ST_OMP_TASK, ST_OMP_END_TASK and ST_OMP_TASKWAIT. | |
276 | (gfc_omp_clauses): Add OMP_SCHED_AUTO to sched_kind, | |
277 | OMP_DEFAULT_FIRSTPRIVATE to default_sharing. Add collapse and | |
278 | untied fields. | |
279 | (gfc_exec_op): Add EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
280 | * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, | |
281 | LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, LANG_HOOKS_OMP_CLAUSE_DTOR, | |
282 | LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define. | |
283 | * trans.h (gfc_omp_clause_default_ctor): Add another argument. | |
284 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
285 | gfc_omp_clause_dtor, gfc_omp_private_outer_ref): New prototypes. | |
286 | * types.def (BT_ULONGLONG, BT_PTR_ULONGLONG, | |
287 | BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, | |
288 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
289 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
290 | BT_FN_VOID_PTR_PTR, BT_PTR_FN_VOID_PTR_PTR, | |
291 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New. | |
292 | (BT_BOOL): Use integer type with BOOL_TYPE_SIZE rather | |
293 | than boolean_type_node. | |
294 | * dump-parse-tree.c (gfc_show_omp_node): Handle EXEC_OMP_TASK, | |
295 | EXEC_OMP_TASKWAIT, OMP_SCHED_AUTO, OMP_DEFAULT_FIRSTPRIVATE, | |
296 | untied and collapse clauses. | |
297 | (gfc_show_code_node): Handle EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
298 | * trans.c (gfc_trans_code): Handle EXEC_OMP_TASK and | |
299 | EXEC_OMP_TASKWAIT. | |
300 | * st.c (gfc_free_statement): Likewise. | |
301 | * resolve.c (gfc_resolve_blocks, resolve_code): Likewise. | |
302 | (find_sym_in_expr): Rename to... | |
303 | (gfc_find_sym_in_expr): ... this. No longer static. | |
304 | (resolve_allocate_expr, resolve_ordinary_assign): Adjust caller. | |
305 | * match.h (gfc_match_omp_task, gfc_match_omp_taskwait): New | |
306 | prototypes. | |
307 | * openmp.c (resolve_omp_clauses): Allow allocatable arrays in | |
308 | firstprivate, lastprivate, reduction, copyprivate and copyin | |
309 | clauses. | |
310 | (omp_current_do_code): Made static. | |
311 | (omp_current_do_collapse): New variable. | |
312 | (gfc_resolve_omp_do_blocks): Compute omp_current_do_collapse, | |
313 | clear omp_current_do_code and omp_current_do_collapse on return. | |
314 | (gfc_resolve_do_iterator): Handle collapsed do loops. | |
315 | (resolve_omp_do): Likewise, diagnose errorneous collapsed do loops. | |
316 | (OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): Define. | |
317 | (gfc_match_omp_clauses): Handle default (firstprivate), | |
318 | schedule (auto), untied and collapse (n) clauses. | |
319 | (OMP_DO_CLAUSES): Add OMP_CLAUSE_COLLAPSE. | |
320 | (OMP_TASK_CLAUSES): Define. | |
321 | (gfc_match_omp_task, gfc_match_omp_taskwait): New functions. | |
322 | * trans-openmp.c (gfc_omp_private_outer_ref): New function. | |
323 | (gfc_omp_clause_default_ctor): Add outer argument. For allocatable | |
324 | arrays allocate them with the bounds of the outer var if outer | |
325 | var is allocated. | |
326 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
327 | gfc_omp_clause_dtor): New functions. | |
328 | (gfc_trans_omp_array_reduction): If decl is allocatable array, | |
329 | allocate it with outer var's bounds in OMP_CLAUSE_REDUCTION_INIT | |
330 | and deallocate it in OMP_CLAUSE_REDUCTION_MERGE. | |
331 | (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED | |
332 | for assumed-size arrays. | |
333 | (gfc_trans_omp_do): Add par_clauses argument. If dovar is | |
334 | present in lastprivate clause and do loop isn't simple, | |
335 | set OMP_CLAUSE_LASTPRIVATE_STMT. If dovar is present in | |
336 | parallel's lastprivate clause, change it to shared and add | |
337 | lastprivate clause to OMP_FOR_CLAUSES. Handle collapsed do loops. | |
338 | (gfc_trans_omp_directive): Adjust gfc_trans_omp_do callers. | |
339 | (gfc_trans_omp_parallel_do): Likewise. Move collapse clause to | |
340 | OMP_FOR from OMP_PARALLEL. | |
341 | (gfc_trans_omp_clauses): Handle OMP_SCHED_AUTO, | |
342 | OMP_DEFAULT_FIRSTPRIVATE, untied and collapse clauses. | |
343 | (gfc_trans_omp_task, gfc_trans_omp_taskwait): New functions. | |
344 | (gfc_trans_omp_directive): Handle EXEC_OMP_TASK and | |
345 | EXEC_OMP_TASKWAIT. | |
346 | ||
da08da69 | 347 | 2008-06-04 Janus Weil <janus@gcc.gnu.org> |
348 | ||
349 | PR fortran/36322 | |
350 | PR fortran/36275 | |
351 | * resolve.c (resolve_symbol): Correctly copy the interface for a | |
352 | PROCEDURE declaration. | |
353 | ||
63986dfb | 354 | 2008-06-02 Janus Weil <janus@gcc.gnu.org> |
355 | ||
356 | PR fortran/36361 | |
357 | * symbol.c (gfc_add_allocatable,gfc_add_dimension, | |
358 | gfc_add_explicit_interface): Added checks. | |
359 | * decl.c (attr_decl1): Added missing "var_locus". | |
360 | * parse.c (parse_interface): Checking for errors. | |
361 | ||
223f0f57 | 362 | 2008-06-02 Daniel Kraft <d@domob.eu> |
363 | ||
364 | * gfortran.h: New statement-type ST_FINAL for FINAL declarations. | |
365 | (struct gfc_symbol): New member f2k_derived. | |
366 | (struct gfc_namespace): New member finalizers, for use in the above | |
367 | mentioned f2k_derived namespace. | |
368 | (struct gfc_finalizer): New type defined for finalizers linked list. | |
369 | * match.h (gfc_match_final_decl): New function header. | |
370 | * decl.c (gfc_match_derived_decl): Create f2k_derived namespace on | |
371 | constructed symbol node. | |
372 | (gfc_match_final_decl): New function to match a FINAL declaration line. | |
373 | * parse.c (decode_statement): match-call for keyword FINAL. | |
374 | (parse_derived): Parse CONTAINS section and accept FINAL statements. | |
375 | * resolve.c (gfc_resolve_finalizers): New function to resolve (that is | |
376 | in this case, check) a list of finalizer procedures. | |
377 | (resolve_fl_derived): Call gfc_resolve_finalizers here. | |
378 | * symbol.c (gfc_get_namespace): Initialize new finalizers to NULL. | |
379 | (gfc_free_namespace): Free finalizers list. | |
380 | (gfc_new_symbol): Initialize new f2k_derived to NULL. | |
381 | (gfc_free_symbol): Free f2k_derived namespace. | |
382 | (gfc_free_finalizer): New function to free a single gfc_finalizer node. | |
383 | (gfc_free_finalizer_list): New function to free a linked list of | |
384 | gfc_finalizer nodes. | |
385 | ||
909b992f | 386 | 2008-06-02 Daniel Franke <franke.daniel@gmail.com> |
387 | ||
388 | PR fortran/36375 | |
389 | PR fortran/36377 | |
390 | * cpp.c (gfc_cpp_init): Do not initialize builtins if | |
391 | processing already preprocessed input. | |
392 | (gfc_cpp_preprocess): Finalize output with newline. | |
393 | ||
c843de3c | 394 | 2008-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
395 | ||
396 | * intrinsic.texi: Revert wrong commit. | |
397 | ||
463f9a16 | 398 | 2008-05-31 Steven G. Kargl <kargls@comcast.net> |
399 | ||
400 | * arith.c (gfc_arith_init_1): Remove now unused r and c variables. | |
401 | Cleanup numerical inquiry function initialization. | |
402 | (gfc_arith_done_1): Replace multiple mpfr_clear() invocations with | |
403 | a single mpfr_clears(). | |
404 | (gfc_check_real_range): Re-arrange logic to eliminate multiple | |
405 | unnecessary branching and assignments. | |
406 | (gfc_arith_times): Use mpfr_clears() in preference to multiple | |
407 | mpfr_clear(). | |
408 | (gfc_arith_divide): Ditto. | |
409 | (complex_reciprocal): Eliminate now unused variables a, re, im. | |
410 | Cleanup the mpfr abuse. Use mpfr_clears() in preference to | |
411 | multiple mpfr_clear(). | |
412 | (complex_pow): Fix comment whitespace. Use mpfr_clears() in | |
413 | preference to multiple mpfr_clear(). | |
414 | * simplify.c (gfc_simplify_and): Remove blank line. | |
415 | (gfc_simplify_atan2): Move error checking earlier to eliminate | |
416 | a now unnecessay gfc_free_expr(). | |
417 | (gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind(). | |
418 | (gfc_simplify_bessel_j1): Ditto. | |
419 | (gfc_simplify_bessel_jn): Ditto. | |
420 | (gfc_simplify_bessel_y0): Ditto. | |
421 | (gfc_simplify_bessel_y1): Ditto. | |
422 | (gfc_simplify_bessel_yn): Ditto. | |
423 | (only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and | |
424 | combine nested if statement rational expressions. | |
425 | (gfc_simplify_cos): Use mpfr_clears() in preference to multiple | |
426 | mpfr_clear(). | |
427 | (gfc_simplify_exp): Ditto. | |
428 | (gfc_simplify_fraction): Move gfc_set_model_kind() to after the | |
429 | special case of 0. Use mpfr_clears() in preference to multiple | |
430 | mpfr_clear(). | |
431 | (gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind(). | |
432 | (gfc_simplify_lgamma): Ditto. | |
433 | (gfc_simplify_log10): Ditto. | |
434 | (gfc_simplify_log): Move gfc_set_model_kind () inside switch | |
435 | statement. Use mpfr_clears() in preference to multiple mpfr_clear(). | |
436 | (gfc_simplify_mod): Eliminate now unused variables quot, iquot, | |
437 | and term. Simplify the mpfr magic. | |
438 | (gfc_simplify_modulo): Ditto. | |
439 | (gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind(). | |
440 | (gfc_simplify_scale): Use mpfr_clears() in preference to multiple | |
441 | mpfr_clear(). | |
442 | (gfc_simplify_sin): Ditto | |
443 | (gfc_simplify_sqrt): Ditto | |
444 | (gfc_simplify_set_exponent): Move gfc_set_model_kind() to after the | |
445 | special case of 0. Use mpfr_clears() in preference to multiple | |
446 | mpfr_clear(). | |
447 | ||
32006f36 | 448 | 2008-05-29 Daniel Franke <franke.daniel@gmail.com> |
449 | ||
450 | PR target/36348 | |
451 | * Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS. | |
452 | ||
1adbbb09 | 453 | 2008-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
454 | ||
455 | * scanner.c (load_line): Add first_char argument. Don't call ungetc. | |
456 | (gfc_read_orig_filename): Adjust call to load_line. Don't call | |
457 | ungetc. | |
458 | (load_file): Adjust call to load_line. | |
459 | ||
203dfc57 | 460 | 2008-05-28 Janus Weil <janus@gcc.gnu.org> |
461 | ||
462 | PR fortran/36325 | |
463 | PR fortran/35830 | |
464 | * interface.c (gfc_procedure_use): Enable argument checking for | |
465 | external procedures with explicit interface. | |
466 | * symbol.c (check_conflict): Fix conflict checking for externals. | |
467 | (copy_formal_args): Fix handling of arrays. | |
468 | * resolve.c (resolve_specific_f0, resolve_specific_s0): Fix handling | |
469 | of intrinsics. | |
470 | * parse.c (parse_interface): Non-abstract INTERFACE statement implies | |
471 | EXTERNAL attribute. | |
472 | ||
329f13ad | 473 | 2008-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
474 | ||
475 | PR fortran/36319 | |
476 | * intrinsic.c (gfc_convert_chartype): Don't mark conversion | |
477 | function as pure. | |
478 | * trans-array.c (gfc_trans_array_ctor_element): Divide element | |
479 | size by the size of one character to obtain length. | |
480 | * iresolve.c (gfc_resolve_cshift): Call the _char4 variant when | |
481 | appropriate. | |
482 | (gfc_resolve_eoshift): Likewise. | |
483 | * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification. | |
484 | (gfc_conv_intrinsic_fdate): Minor beautification. | |
485 | (gfc_conv_intrinsic_ttynam): Minor beautification. | |
486 | (gfc_conv_intrinsic_minmax_char): Allow all character kinds. | |
487 | (size_of_string_in_bytes): New function. | |
488 | (gfc_conv_intrinsic_size): Call size_of_string_in_bytes for | |
489 | character expressions. | |
490 | (gfc_conv_intrinsic_sizeof): Likewise. | |
491 | (gfc_conv_intrinsic_array_transfer): Likewise. | |
492 | (gfc_conv_intrinsic_trim): Allow all character kinds. Minor | |
493 | beautification. | |
494 | (gfc_conv_intrinsic_repeat): Fix comment typo. | |
495 | * simplify.c (gfc_convert_char_constant): Take care of conversion | |
496 | of array constructors. | |
497 | ||
9472fc77 | 498 | 2008-05-27 Tobias Burnus <burnus@net-b.de> |
499 | ||
500 | PR fortran/36316 | |
501 | * trans-array.c (gfc_set_loop_bounds_from_array_spec): | |
502 | Add missing fold_convert. | |
503 | ||
e1dbb139 | 504 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
505 | ||
506 | * fortran/cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, | |
507 | added FIXME instead. | |
508 | ||
2ecc6bc5 | 509 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
510 | ||
511 | PR fortran/18428 | |
512 | * lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory, | |
513 | imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc, | |
514 | o, undef, v): New options. | |
515 | * options.c (gfc_init_options): Also initialize preprocessor | |
516 | options. | |
517 | (gfc_post_options): Also handle post-initialization of preprocessor | |
518 | options. | |
519 | (gfc_handle_option): Check if option is a preprocessor option. | |
520 | If yes, let gfc_cpp_handle_option() handle the option. | |
521 | * lang-specs.h: Reorganized to handle new options. | |
522 | * scanner.c (gfc_new_file): Read temporary file instead of | |
523 | input source if preprocessing is enabled. | |
524 | * f95-lang.c (gfc_init): Initialize preprocessor. | |
525 | (gfc_finish): Clean up preprocessor. | |
526 | * cpp.c: New. | |
527 | * cpp.h: New. | |
528 | * Make-lang.in: Added new objects and dependencies. | |
529 | * gfortran.texi: Updated section "Preprocessing and | |
530 | conditional compilation". | |
531 | * invoke.texi: Added new section "Preprocessing Options", | |
532 | listed and documented the preprocessing options handled | |
533 | by gfortran. | |
534 | ||
2cbaf336 | 535 | 2008-05-25 Tobias Burnus <burnus@net-b.de> |
536 | ||
537 | PR fortran/32600 | |
538 | * trans-expr.c (gfc_conv_function_call): Remove library | |
539 | call for c_f_pointer with scalar Fortran pointers and for | |
540 | c_f_procpointer. | |
541 | ||
7459ffb0 | 542 | 2008-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
543 | ||
544 | PR fortran/36257 | |
545 | * iresolve.c (check_charlen_present): Don't force the rank to 1. | |
546 | ||
51bd6479 | 547 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
548 | ||
549 | PR fortran/36265 | |
550 | * trans-expr.c (gfc_conv_string_tmp): Pick the correct type for | |
551 | the temporary variable. | |
552 | ||
2d0b3314 | 553 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
554 | ||
555 | * simplify.c (gfc_simplify_dble, gfc_simplify_real): Initialize | |
556 | result variable to avoid warnings. | |
557 | ||
b44437b9 | 558 | 2008-05-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
559 | ||
560 | * intrinsic.c (char_conversions, ncharconv): New static variables. | |
561 | (find_char_conv): New function. | |
562 | (add_functions): Add simplification functions for ADJUSTL and | |
563 | ADJUSTR. Don't check the kind of their argument. Add checking for | |
564 | LGE, LLE, LGT and LLT. | |
565 | (add_subroutines): Fix argument type for SLEEP. Fix argument name | |
566 | for SYSTEM. | |
567 | (add_char_conversions): New function. | |
568 | (gfc_intrinsic_init_1): Call add_char_conversions. | |
569 | (gfc_intrinsic_done_1): Free char_conversions. | |
570 | (check_arglist): Use kind == 0 as a signal that we don't want | |
571 | the kind value to be checked. | |
572 | (do_simplify): Also simplify character functions. | |
573 | (gfc_convert_chartype): New function | |
574 | * trans-array.c (gfc_trans_array_ctor_element): Don't force the | |
575 | use of default character type. | |
576 | (gfc_trans_array_constructor_value): Likewise. | |
577 | (get_array_ctor_var_strlen): Use integer kind to build an integer | |
578 | instead of a character kind! | |
579 | (gfc_build_constant_array_constructor): Don't force the use of | |
580 | default character type. | |
581 | (gfc_conv_loop_setup): Likewise. | |
582 | * trans-expr.c (gfc_conv_string_tmp): Don't force the use of | |
583 | default character type. Allocate enough memory for wide strings. | |
584 | (gfc_conv_concat_op): Make sure operand kind are the same. | |
585 | (string_to_single_character): Remove gfc_ prefix. Reindent. | |
586 | Don't force the use of default character type. | |
587 | (gfc_conv_scalar_char_value): Likewise. | |
588 | (gfc_build_compare_string): Call string_to_single_character. | |
589 | (fill_with_spaces): New function | |
590 | (gfc_trans_string_copy): Add kind arguments. Use them to deal | |
591 | with wide character kinds. | |
592 | (gfc_conv_statement_function): Whitespace fix. Call | |
593 | gfc_trans_string_copy with new kind arguments. | |
594 | (gfc_conv_substring_expr): Call gfc_build_wide_string_const | |
595 | instead of using gfc_widechar_to_char. | |
596 | (gfc_conv_string_parameter): Don't force the use of default | |
597 | character type. | |
598 | (gfc_trans_scalar_assign): Pass kind args to gfc_trans_string_copy. | |
599 | * intrinsic.h (gfc_check_lge_lgt_lle_llt, gfc_convert_char_constant, | |
600 | gfc_resolve_adjustl, gfc_resolve_adjustr): New prototypes. | |
601 | * decl.c (gfc_set_constant_character_len): Don't assert the | |
602 | existence of a single character kind. | |
603 | * trans-array.h (gfc_trans_string_copy): New prototype. | |
604 | * gfortran.h (gfc_check_character_range, gfc_convert_chartype): | |
605 | New prototypes. | |
606 | * error.c (print_wide_char_into_buffer): New function lifting | |
607 | code from gfc_print_wide_char. Fix order to output '\x??' instead | |
608 | of 'x\??'. | |
609 | (gfc_print_wide_char): Call print_wide_char_into_buffer. | |
610 | (show_locus): Call print_wide_char_into_buffer with buffer local | |
611 | to this function. | |
612 | * trans-const.c (gfc_build_wide_string_const): New function. | |
613 | (gfc_conv_string_init): Deal with wide characters strings | |
614 | constructors. | |
615 | (gfc_conv_constant_to_tree): Call gfc_build_wide_string_const. | |
616 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
617 | (gfc_trans_character_select): Deal with wide strings. | |
618 | * expr.c (gfc_check_assign): Allow conversion between character | |
619 | kinds on assignment. | |
620 | * trans-const.h (gfc_build_wide_string_const): New prototype. | |
621 | * trans-types.c (gfc_get_character_type_len_for_eltype, | |
622 | gfc_get_character_type_len): Create too variants of the old | |
623 | gfc_get_character_type_len, one getting kind argument and the | |
624 | other one directly taking a type tree. | |
625 | * trans.h (gfor_fndecl_select_string_char4, | |
626 | gfor_fndecl_convert_char1_to_char4, | |
627 | gfor_fndecl_convert_char4_to_char1): New prototypes. | |
628 | * trans-types.h (gfc_get_character_type_len_for_eltype): New | |
629 | prototype. | |
630 | * resolve.c (resolve_operator): Exit early when kind mismatches | |
631 | are detected, because that makes us issue an error message later. | |
632 | (validate_case_label_expr): Fix wording of error message. | |
633 | * iresolve.c (gfc_resolve_adjustl, gfc_resolve_adjustr): New | |
634 | functions. | |
635 | (gfc_resolve_pack): Call _char4 variants of library function | |
636 | when dealing with wide characters. | |
637 | (gfc_resolve_reshape): Likewise. | |
638 | (gfc_resolve_spread): Likewise. | |
639 | (gfc_resolve_transpose): Likewise. | |
640 | (gfc_resolve_unpack): Likewise. | |
641 | * target-memory.c (size_character): Take character kind bit size | |
642 | correctly into account (not that it changes anything for now, but | |
643 | it's more generic). | |
644 | (gfc_encode_character): Added gfc_ prefix. Encoding each | |
645 | character of a string by calling native_encode_expr for the | |
646 | corresponding unsigned integer. | |
647 | (gfc_target_encode_expr): Add gfc_ prefix to encode_character. | |
648 | * trans-decl.c (gfc_build_intrinsic_function_decls): Build | |
649 | gfor_fndecl_select_string_char4, gfor_fndecl_convert_char1_to_char4 | |
650 | and gfor_fndecl_convert_char4_to_char1. | |
651 | * target-memory.h (gfc_encode_character): New prototype. | |
652 | * arith.c (gfc_check_character_range): New function. | |
653 | (eval_intrinsic): Allow non-default character kinds. | |
654 | * check.c (gfc_check_access_func): Only allow default | |
655 | character kind arguments. | |
656 | (gfc_check_chdir): Likewise. | |
657 | (gfc_check_chdir_sub): Likewise. | |
658 | (gfc_check_chmod): Likewise. | |
659 | (gfc_check_chmod_sub): Likewise. | |
660 | (gfc_check_lge_lgt_lle_llt): New function. | |
661 | (gfc_check_link): Likewise. | |
662 | (gfc_check_link_sub): Likewise. | |
663 | (gfc_check_symlnk): Likewise. | |
664 | (gfc_check_symlnk_sub): Likewise. | |
665 | (gfc_check_rename): Likewise. | |
666 | (gfc_check_rename_sub): Likewise. | |
667 | (gfc_check_fgetputc_sub): Likewise. | |
668 | (gfc_check_fgetput_sub): Likewise. | |
669 | (gfc_check_stat): Likewise. | |
670 | (gfc_check_stat_sub): Likewise. | |
671 | (gfc_check_date_and_time): Likewise. | |
672 | (gfc_check_ctime_sub): Likewise. | |
673 | (gfc_check_fdate_sub): Likewise. | |
674 | (gfc_check_gerror): Likewise. | |
675 | (gfc_check_getcwd_sub): Likewise. | |
676 | (gfc_check_getarg): Likewise. | |
677 | (gfc_check_getlog): Likewise. | |
678 | (gfc_check_hostnm): Likewise. | |
679 | (gfc_check_hostnm_sub): Likewise. | |
680 | (gfc_check_ttynam_sub): Likewise. | |
681 | (gfc_check_perror): Likewise. | |
682 | (gfc_check_unlink): Likewise. | |
683 | (gfc_check_unlink_sub): Likewise. | |
684 | (gfc_check_system_sub): Likewise. | |
685 | * primary.c (got_delim): Perform correct character range checking | |
686 | for all kinds. | |
687 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion): Generate | |
688 | calls to library functions convert_char4_to_char1 and | |
689 | convert_char1_to_char4 for character conversions. | |
690 | (gfc_conv_intrinsic_char): Allow all character kings. | |
691 | (gfc_conv_intrinsic_strcmp): Fix whitespace. | |
692 | (gfc_conv_intrinsic_repeat): Take care of all character kinds. | |
693 | * intrinsic.texi: For all GNU intrinsics accepting character | |
694 | arguments, mention that they're restricted to the default kind. | |
695 | * simplify.c (simplify_achar_char): New function. | |
696 | (gfc_simplify_achar, gfc_simplify_char): Call simplify_achar_char. | |
697 | gfc_simplify_ichar): Don't error out for wide characters. | |
698 | (gfc_convert_char_constant): New function. | |
699 | ||
d1743da1 | 700 | 2008-05-18 Steven G. Kargl <kargls@comcast.net> |
701 | ||
702 | PR fortran/36251 | |
703 | * symbol.c (check_conflict): Issue errors for abuse of PUBLIC, PRIVATE, | |
704 | and BIND(C). | |
705 | * resolve.c (gfc_verify_binding_labels): Fix NULL pointer dereference. | |
706 | ||
707 | 2008-05-17 Tobias Burnus <burnus@net-b.de> | |
cf37b737 | 708 | |
709 | * intrinsic.texi: Correct description of GET_COMMAND_ARGUMENT | |
710 | and GET_ENVIRONMENT_VARIABLE; fix keyword= name for GETENV, | |
711 | GETLOG, GMTIME, HOSTNM, IRAND, ITIME, KILL. | |
712 | Move LOG_GAMMA after LOG10. | |
713 | ||
d1743da1 | 714 | 2008-05-17 Tobias Burnus <burnus@net-b.de> |
e06f8026 | 715 | |
716 | * intrinsic.c (add_functions): Change FLUSH(C) to FLUSH(UNIT). | |
717 | * intrinsic.texi: Change INTEGER(*) to INTEGER; fix keyword= name for | |
718 | ABS, ADJUSTL, AINT, ALLOCATED, ANINT, ASSOCIATED, C_ASSOCIATED, | |
719 | CEILING, DBLE, DFLOAT, DOT_PRODUCT, DREAL, FLOAT, FLOOR, GET_COMMAND. | |
720 | ||
35415f9d | 721 | 2008-05-16 Paul Thomas <pault@gcc.gnu.org> |
722 | ||
723 | PR fortran/35756 | |
724 | PR fortran/35759 | |
725 | * trans-stmt.c (gfc_trans_where): Tighten up the dependency | |
726 | check for calling gfc_trans_where_3. | |
727 | ||
728 | PR fortran/35743 | |
729 | * trans-stmt.c (gfc_trans_where_2): Set the mask size to zero | |
730 | if it is calculated to be negative. | |
731 | ||
732 | PR fortran/35745 | |
733 | * trans-stmt.c (gfc_trans_where_3, gfc_trans_where_assign): Set | |
734 | ss->where for scalar right hand sides. | |
735 | * trans-array.c (gfc_add_loop_ss_code): If ss->where is set do | |
736 | not evaluate scalars outside the loop. Clean up whitespace. | |
737 | * trans.h : Add a bitfield 'where' to gfc_ss. | |
738 | ||
a35bedd5 | 739 | 2008-05-16 Tobias Burnus <burnus@net-b.de> |
740 | ||
741 | * libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15. | |
742 | * array.c (gfc_match_array_spec): Error with -std=f2003 if rank > 7. | |
743 | ||
ee7aee2a | 744 | 2008-04-16 Daniel Kraft <d@domob.eu> |
745 | ||
746 | PR fortran/27997 | |
747 | * gfortran.h: Added field "length_from_typespec" to gfc_charlength. | |
748 | * aray.c (gfc_match_array_constructor): Added code to parse typespec. | |
749 | (check_element_type, check_constructor_type, gfc_check_constructor_type): | |
750 | Extended to support explicit typespec on constructor. | |
751 | (gfc_resolve_character_array_constructor): Pad strings correctly for | |
752 | explicit, constant character length. | |
753 | * trans-array.c: New static global variable "typespec_chararray_ctor" | |
754 | (gfc_trans_array_constructor): New code to support explicit but dynamic | |
755 | character lengths. | |
756 | ||
7e221851 | 757 | 2008-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
758 | ||
ee7aee2a | 759 | PR fortran/34325 |
760 | * decl.c (match_attr_spec): Check for matching pairs of parenthesis. | |
761 | * expr.c (gfc_specification_expr): Supplement the error message with the | |
762 | type that was found. | |
763 | * resolve.c (gfc_resolve_index): Likewise. | |
764 | * match.c (gfc_match_parens): Clarify error message with "at or before". | |
765 | (gfc_match_do): Check for matching pairs of parenthesis. | |
7e221851 | 766 | |
f40b44c0 | 767 | 2008-05-16 Tobias Burnus <burnus@net-b.de |
768 | ||
769 | * intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95; | |
770 | add missing KIND argument to ACHAR and NINT; and state that | |
771 | the KIND argument is a F2003 extension for ACHAR, COUNT, IACHAR, | |
772 | ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY. | |
773 | ||
34ea34c7 | 774 | 2008-05-16 Daniel Kraft <d@domob.eu> |
775 | ||
776 | * primary.c: New private structure "gfc_structure_ctor_component". | |
777 | (gfc_free_structure_ctor_component): New helper function. | |
778 | (gfc_match_structure_constructor): Extended largely to support named | |
779 | arguments and default initialization for structure constructors. | |
780 | ||
a48103f3 | 781 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> |
782 | ||
783 | * simplify.c (gfc_simplify_dble, gfc_simplify_float, | |
784 | simplify_bound, gfc_simplify_nearest, gfc_simplify_real): Plug | |
785 | possible memory leaks. | |
786 | (gfc_simplify_reshape): Plug possible memory leaks and dereferencing | |
787 | of NULL pointers. | |
788 | ||
789 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> | |
790 | ||
791 | PR fortran/36239 | |
792 | * simplify.c (gfc_simplify_int, gfc_simplify_intconv): Replaced hand | |
793 | rolled integer conversion with gfc_int2int, gfc_real2int, and | |
794 | gfc_complex2int. | |
795 | (gfc_simplify_intconv): Renamed to simplify_intconv. | |
796 | ||
797 | 2008-05-15 Steven G. Kargl, <kargl@comcast.net> | |
798 | * gfortran.dg/and_or_xor.f90: New test | |
799 | ||
800 | * fortran/simplify.c (gfc_simplify_and, gfc_simplify_or, | |
801 | gfc_simplify_xor): Don't range check logical results. | |
802 | ||
40b806de | 803 | 2008-05-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
804 | ||
805 | * trans-expr.c (gfc_conv_concat_op): Take care of nondefault | |
806 | character kinds. | |
807 | (gfc_build_compare_string): Add kind argument and use it. | |
808 | (gfc_conv_statement_function): Fix indentation. | |
809 | * gfortran.h (gfc_character_info): New structure. | |
810 | (gfc_character_kinds): New array. | |
811 | * trans-types.c (gfc_character_kinds, gfc_character_types, | |
812 | gfc_pcharacter_types): New array. | |
813 | (gfc_init_kinds): Fill character kinds array. | |
814 | (validate_character): Take care of nondefault character kinds. | |
815 | (gfc_build_uint_type): New function. | |
816 | (gfc_init_types): Take care of nondefault character kinds. | |
817 | (gfc_get_char_type, gfc_get_pchar_type): New functions. | |
818 | (gfc_get_character_type_len): Use gfc_get_char_type. | |
819 | * trans.h (gfc_build_compare_string): Adjust prototype. | |
820 | (gfor_fndecl_compare_string_char4, gfor_fndecl_concat_string_char4, | |
821 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
822 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
823 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
824 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4): New | |
825 | prototypes. | |
826 | * trans-types.h (gfc_get_char_type, gfc_get_pchar_type): New | |
827 | prototypes. | |
828 | * trans-decl.c (gfor_fndecl_compare_string_char4, | |
829 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
830 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
831 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
832 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4, | |
833 | gfor_fndecl_concat_string_char4): New function decls. | |
834 | (gfc_build_intrinsic_function_decls): Define new *_char4 function | |
835 | decls. | |
836 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char, | |
837 | gfc_conv_intrinsic_len_trim, gfc_conv_intrinsic_ichar, | |
838 | gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_trim, | |
839 | gfc_conv_intrinsic_function): Deal with nondefault character kinds. | |
840 | ||
e6fba9d7 | 841 | 2008-05-15 Sa Liu <saliu@de.ibm.com> |
842 | ||
843 | * iso-c-binding.def: Add standard parameter to macro NAMED_INTCST. | |
844 | All existing NAMED_INTCST definitions has standard GFC_STD_F2003, | |
845 | c_int128_t, c_int_least128_t and c_int_fast128_t are added as | |
846 | GNU extensions. | |
847 | * iso-fortran-evn.def: Add standard parameter GFC_STD_F2003 | |
848 | to macro NAMED_INTCST. | |
849 | * symbol.c (std_for_isocbinding_symbol): New helper function to | |
850 | return the standard that supports this isocbinding symbol. | |
851 | (generate_isocbinding_symbol): Do not generate GNU extension symbols | |
852 | if std=f2003. Add new parameter to NAMED_INTCST. | |
853 | * module.c (use_iso_fortran_env_module): Add new parameter to | |
854 | NAMED_INTCST and new field standard to struct intmod_sym. | |
855 | * gfortran.h: Add new parameter to NAMED_INTCST. | |
856 | * trans-types.c (init_c_interop_kinds): Add new parameter to | |
857 | NAMED_INTCST. | |
858 | * intrinsic.texi: Documented new types C_INT128_T, C_INT_LEASE128_T | |
859 | and C_INT_FAST128_T. | |
860 | ||
3d235846 | 861 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
862 | ||
863 | PR fortran/36059 | |
864 | * trans-decl.c (gfc_build_dummy_array_decl): Don't repack | |
865 | arrays that have the TARGET attribute. | |
866 | ||
9003d15c | 867 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
868 | ||
869 | PR fortran/36186 | |
870 | * simplify.c (only_convert_cmplx_boz): New function. | |
871 | (gfc_simplify_cmplx, gfc_simplify_complex, gfc_simplify_dcmplx): | |
872 | Call only_convert_cmplx_boz. | |
873 | ||
538eb341 | 874 | 2008-05-14 Paul Thomas <pault@gcc.gnu.org> |
875 | ||
9003d15c | 876 | PR fortran/36233 |
877 | * interface.c (compare_actual_formal): Do not check sizes if the | |
878 | actual is BT_PROCEDURE. | |
538eb341 | 879 | |
356056cf | 880 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
881 | ||
882 | PR fortran/35682 | |
883 | * trans-array.c (gfc_conv_ss_startstride): Any negative size is | |
884 | the same as zero size. | |
885 | (gfc_conv_loop_setup): Fix size calculation. | |
886 | ||
03910013 | 887 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
888 | ||
889 | PR fortran/35685 | |
890 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Correctly | |
891 | handle zero-size sections. | |
892 | ||
8ce49018 | 893 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
894 | ||
895 | PR fortran/36215 | |
896 | * scanner.c (preprocessor_line): Allocate enough memory for a | |
897 | wide string. | |
898 | ||
4ab0baa2 | 899 | 2008-05-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
900 | ||
901 | PR fortran/36176 | |
902 | * target-memory.c (gfc_target_expr_size): Correctly treat | |
903 | substrings. | |
904 | (gfc_target_encode_expr): Likewise. | |
905 | (gfc_interpret_complex): Whitespace change. | |
906 | ||
b4330711 | 907 | 2008-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
908 | ||
909 | PR fortran/35719 | |
910 | * trans.c (gfc_call_malloc): If size equals zero, allocate one | |
911 | byte; don't return a null pointer. | |
912 | ||
a65f65bc | 913 | 2008-05-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
914 | ||
915 | PR fortran/36197 | |
916 | * module.c (quote_string): Fix sprintf format. | |
917 | ||
3d65dd3f | 918 | 2008-05-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
919 | ||
920 | PR fortran/36162 | |
921 | * module.c (quote_string, unquote_string, | |
922 | mio_allocated_wide_string): New functions. | |
923 | (mio_expr): Call mio_allocated_wide_string where needed. | |
924 | ||
9c2a0c05 | 925 | 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
926 | ||
927 | * trans-decl.c (gfc_get_extern_function_decl, build_function_decl): | |
928 | Rename DECL_IS_PURE to DECL_PURE_P. | |
929 | ||
c32f863c | 930 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
931 | ||
932 | * arith.c: (gfc_arith_concat, gfc_compare_string, | |
933 | gfc_compare_with_Cstring, hollerith2representation, | |
934 | gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex, | |
935 | gfc_hollerith2character, gfc_hollerith2logical): Use wide | |
936 | characters for character constants. | |
937 | * data.c (create_character_intializer): Likewise. | |
938 | * decl.c (gfc_set_constant_character_len): Likewise. | |
939 | * dump-parse-tree.c (show_char_const): Correctly dump wide | |
940 | character strings. | |
941 | error.c (print_wide_char): Rename into gfc_print_wide_char. | |
942 | (show_locus): Adapt to new prototype of gfc_print_wide_char. | |
943 | expr.c (free_expr0): Representation is now disjunct from | |
944 | character string value, so we always free it. | |
945 | (gfc_copy_expr, find_substring_ref, gfc_simplify_expr): Adapt | |
946 | to wide character strings. | |
947 | * gfortran.h (gfc_expr): Make value.character.string a wide string. | |
948 | (gfc_wide_toupper, gfc_wide_strncasecmp, gfc_wide_memset, | |
949 | gfc_widechar_to_char, gfc_char_to_widechar): New prototypes. | |
950 | (gfc_get_wide_string): New macro. | |
951 | (gfc_print_wide_char): New prototype. | |
952 | * io.c (format_string): Make a wide string. | |
953 | (next_char, gfc_match_format, compare_to_allowed_values, | |
954 | gfc_match_open): Deal with wide strings. | |
955 | * module.c (mio_expr): Convert between wide strings and ASCII ones. | |
956 | * primary.c (match_hollerith_constant, match_charkind_name): | |
957 | Handle wide strings. | |
958 | * resolve.c (build_default_init_expr): Likewise. | |
959 | * scanner.c (gfc_wide_toupper, gfc_wide_memset, | |
960 | gfc_char_to_widechar): New functions. | |
961 | (wide_strchr, gfc_widechar_to_char, gfc_wide_strncasecmp): | |
962 | Changes in prototypes. | |
963 | (gfc_define_undef_line, load_line, preprocessor_line, | |
964 | include_line, load_file, gfc_read_orig_filename): Handle wide | |
965 | strings. | |
966 | * simplify.c (gfc_simplify_achar, gfc_simplify_adjustl, | |
967 | gfc_simplify_adjustr, gfc_simplify_char, gfc_simplify_iachar, | |
968 | gfc_simplify_ichar, simplify_min_max, gfc_simplify_new_line, | |
969 | gfc_simplify_repeat): Handle wide strings. | |
970 | (wide_strspn, wide_strcspn): New helper functions. | |
971 | (gfc_simplify_scan, gfc_simplify_trim, gfc_simplify_verify): | |
972 | Handle wide strings. | |
973 | * symbol.c (generate_isocbinding_symbol): Likewise. | |
974 | * target-memory.c (size_character, gfc_target_expr_size, | |
975 | encode_character, gfc_target_encode_expr, gfc_interpret_character, | |
976 | gfc_target_interpret_expr): Handle wide strings. | |
977 | * trans-const.c (gfc_conv_string_init): Lower wide strings to | |
978 | narrow ones. | |
979 | (gfc_conv_constant_to_tree): Likewise. | |
980 | * trans-expr.c (gfc_conv_substring_expr): Handle wide strings. | |
981 | * trans-io.c (gfc_new_nml_name_expr): Likewise. | |
982 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
983 | ||
bcf5de7a | 984 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
985 | ||
986 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
987 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
988 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): Mark arguments | |
989 | with ATTRIBUTE_UNUSED. | |
990 | ||
42f2ba28 | 991 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
992 | ||
993 | * check.c (gfc_check_sizeof): Switch to ATTRIBUTE_UNUSED. | |
994 | * simplify.c (gfc_simplify_lgamma): Likewise. | |
995 | ||
996 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
e0be6f02 | 997 | |
998 | * openmp.c (gfc_match_omp_eos): Use gfc_next_ascii_char and | |
999 | gfc_peek_ascii_char. | |
1000 | * decl.c (gfc_match_kind_spec, gfc_match_type_spec, | |
1001 | gfc_match_implicit_none, match_implicit_range, gfc_match_implicit, | |
1002 | match_string_p, match_attr_spec, gfc_match_suffix, | |
1003 | match_procedure_decl, gfc_match_entry, gfc_match_subroutine): | |
1004 | Likewise. | |
1005 | * gfortran.h (gfc_char_t): New type. | |
1006 | (gfc_linebuf): Make line member a gfc_char_t. | |
1007 | (locus): Make nextc member a gfc_char_t. | |
1008 | (gfc_wide_is_printable, gfc_wide_is_digit, gfc_wide_fits_in_byte, | |
1009 | gfc_wide_tolower, gfc_wide_strlen, gfc_next_ascii_char, | |
1010 | gfc_peek_ascii_char, gfc_check_digit): New prototypes. | |
1011 | * error.c (print_wide_char): New function. | |
1012 | (show_locus): Use print_wide_char and gfc_wide_strlen. | |
1013 | * io.c (next_char): Use gfc_char_t type. | |
1014 | (match_io): Use gfc_peek_ascii_char and gfc_next_ascii_char. | |
1015 | * match.c (gfc_match_parens, gfc_match_eos, | |
1016 | gfc_match_small_literal_int, gfc_match_name, gfc_match_name_C, | |
1017 | gfc_match_intrinsic_op, gfc_match_char, gfc_match_return, | |
1018 | gfc_match_common): Likewise. | |
1019 | * match.h (gfc_match_special_char): Change prototype. | |
1020 | * parse.c (decode_specification_statement, decode_statement, | |
1021 | decode_omp_directive, next_free, next_fixed): Use | |
1022 | gfc_peek_ascii_char and gfc_next_ascii_char. | |
1023 | * primary.c (gfc_check_digit): Change name. | |
1024 | (match_digits, match_hollerith_constant, match_boz_constant, | |
1025 | match_real_constant, next_string_char, match_charkind_name, | |
1026 | match_string_constant, match_logical_constant_string, | |
1027 | match_complex_constant, match_actual_arg, match_varspec, | |
1028 | gfc_match_rvalue, match_variable): Use gfc_peek_ascii_char and | |
1029 | gfc_next_ascii_char. | |
1030 | * scanner.c (gfc_wide_fits_in_byte, wide_is_ascii, | |
1031 | gfc_wide_is_printable, gfc_wide_tolower, gfc_wide_is_digit, | |
1032 | gfc_wide_is_digit, wide_atoi, gfc_wide_strlen, wide_strcpy, | |
1033 | wide_strchr, widechar_to_char, wide_strncmp, wide_strncasecmp, | |
1034 | gfc_next_ascii_char, gfc_peek_ascii_char): | |
1035 | New functions. | |
1036 | (next_char, gfc_define_undef_line, skip_free_comments, | |
1037 | gfc_next_char_literal, gfc_next_char, gfc_peek_char, | |
1038 | gfc_error_recovery, load_line, preprocessor_line, include_line, | |
1039 | load_file, gfc_read_orig_filename): Use gfc_char_t for source | |
1040 | characters and the {gfc_,}wide_* functions to manipulate wide | |
1041 | strings. | |
1042 | ||
36fb1705 | 1043 | 2008-05-06 Tobias Burnus <burnus@net-b.de> |
1044 | ||
1045 | PR fortran/36117 | |
1046 | * intrinsic.c (add_functions): Call gfc_simplify_bessel_*. | |
1047 | * intrinsic.h: Add prototypes for gfc_simplify_bessel_*. | |
1048 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
1049 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
1050 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): New. | |
1051 | ||
c5c4ac6d | 1052 | 2008-05-03 Janus Weil <jaydub66@gmail.com> |
1053 | ||
1054 | * misc.c (gfc_clear_ts): Set interface to NULL. | |
1055 | ||
f5098fb5 | 1056 | 2008-05-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1057 | ||
1058 | PR fortran/33268 | |
1059 | * gfortran.h: Add extra_comma pointer to gfc_dt structure. Add iokind to | |
1060 | gfc_expr value union. Add io_kind enum to here from io.c. | |
1061 | * io.c (gfc_free_dt): Free extra_comma. | |
1062 | (gfc_resolve_dt): If an extra comma was encountered and io_unit is type | |
1063 | BT_CHARACTER, resolve to format_expr and set default unit. Error if | |
1064 | io_kind is M_WRITE. (match_io): Match the extra comma and set new | |
1065 | pointer, extra_comma. | |
1066 | ||
37030e5a | 1067 | 2008-05-01 Bud Davis <bdavis9659@sbcglobal.net> |
1068 | ||
1069 | PR35940/Fortran | |
1070 | * simplify.c (gfc_simplify_index): Check for direction argument | |
1071 | being a constant. | |
1072 | ||
2cd2bb5c | 1073 | 2008-05-01 Janus Weil <jaydub66@gmail.com> |
1074 | ||
1075 | * gfortran.h (struct gfc_symbol): Moving "interface" member to | |
1076 | gfc_typespec (plus fixing a small docu error). | |
1077 | * interface.c (gfc_procedure_use): Ditto. | |
1078 | * decl.c (match_procedure_decl): Ditto. | |
1079 | * resolve.c (resolve_specific_f0, | |
1080 | resolve_specific_f0, resolve_symbol): Ditto. | |
1081 | ||
59e2a584 | 1082 | 2008-04-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1083 | ||
1084 | * intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic. | |
1085 | * intrinsic.h (gfc_check_selected_char_kind, | |
1086 | gfc_simplify_selected_char_kind): New prototypes. | |
1087 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_SC_KIND. | |
1088 | * trans.h (gfor_fndecl_sc_kind): New function decl. | |
1089 | * trans-decl.c (gfor_fndecl_sc_kind): Build new decl. | |
1090 | * arith.c (gfc_compare_with_Cstring): New function. | |
1091 | * arith.h (gfc_compare_with_Cstring): New prototype. | |
1092 | * check.c (gfc_check_selected_char_kind): New function. | |
1093 | * primary.c (match_string_constant, match_kind_param): Mark | |
1094 | symbols used as literal constant kind param as referenced. | |
1095 | * trans-intrinsic.c (gfc_conv_intrinsic_sc_kind): New function. | |
1096 | (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_sc_kind. | |
1097 | * intrinsic.texi (SELECTED_CHAR_KIND): Document new intrinsic. | |
1098 | * simplify.c (gfc_simplify_selected_char_kind): New function. | |
1099 | ||
9ec0fbe1 | 1100 | 2008-04-28 Paul Thomas <pault@gcc.gnu.org> |
1101 | ||
59e2a584 | 1102 | PR fortran/35997 |
1103 | * module.c (find_symbol): Do not return a result for a symbol | |
1104 | that has been renamed in another module. | |
9ec0fbe1 | 1105 | |
2f1b79be | 1106 | 2008-04-26 George Helffrich <george@gcc.gnu.org> |
1107 | ||
1108 | PR fortran/35892 | |
1109 | PR fortran/35154 | |
1110 | * trans-common.c (create_common): Add decl to function | |
1111 | chain (if inside one) to preserve identifier scope in debug output. | |
1112 | ||
18d50ae6 | 1113 | 2008-04-25 Jan Hubicka <jh@suse.cz> |
1114 | ||
1115 | * trans-decl.c (trans_function_start): Update. | |
1116 | ||
db96818c | 1117 | 2008-04-25 Tobias Burnus <burnus@net-b.de> |
1118 | Daniel Franke <franke.daniel@gmail.com> | |
1119 | ||
1120 | PR fortran/35156 | |
1121 | * gfortranspec.c (lang_specific_driver): Deprecate | |
1122 | -M option; fix ICE when "-M" is last argument and | |
1123 | make "-M<dir>" work. | |
1124 | * options.c (gfc_handle_module_path_options): | |
1125 | Use -J instead of -M in error messages. | |
1126 | * invoke.texi: Mark -M as depecated. | |
1127 | ||
4b8fe540 | 1128 | 2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1129 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
1130 | ||
1131 | PR fortran/35994 | |
1132 | * trans-instrinsic.c (gfc_conv_intrinsic_minmaxloc): Correctly adjust | |
1133 | loop counter offset. | |
1134 | ||
c7d4e749 | 1135 | 2008-04-23 Paolo Bonzini <bonzini@gnu.org> |
1136 | ||
1137 | * trans-expr.c (gfc_conv_structure): Don't set TREE_INVARIANT. | |
1138 | * trans-array.c (gfc_build_null_descriptor): Don't set TREE_INVARIANT. | |
1139 | (gfc_trans_array_constructor_value): Don't set TREE_INVARIANT. | |
1140 | (gfc_build_constant_array_constructor): Don't set TREE_INVARIANT. | |
1141 | (gfc_conv_array_initializer): Don't set TREE_INVARIANT. | |
1142 | * trans-common.c (get_init_field): Don't set TREE_INVARIANT. | |
1143 | (create_common): Don't set TREE_INVARIANT. | |
1144 | * trans-stmt.c (gfc_trans_character_select): Don't set TREE_INVARIANT. | |
1145 | * trans-decl.c (gfc_generate_function_code): Don't set TREE_INVARIANT. | |
1146 | ||
d3bc173d | 1147 | 2008-04-21 Steve Ellcey <sje@cup.hp.com> |
1148 | ||
1149 | * f95-lang.c (gfc_init_decl_processing): use ptr_mode instead of Pmode. | |
1150 | ||
798b415d | 1151 | 2008-04-21 Daniel Franke <franke.daniel@gmail.com> |
1152 | ||
1153 | PR fortran/35019 | |
1154 | * gfortranspec.c (lookup_option): Properly handle separated arguments | |
1155 | in -J option, print missing argument message when necessary. | |
1156 | ||
c2c16ba2 | 1157 | 2008-04-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1158 | ||
1159 | PR fortran/35882 | |
1160 | * scanner.c (skip_fixed_comments): Update continue_line when comment is | |
1161 | detected. (gfc_next_char_literal): Likewise. | |
1162 | ||
89e89e42 | 1163 | 2008-04-19 Paul Thomas <pault@gcc.gnu.org> |
1164 | ||
1165 | PR fortran/35944 | |
1166 | PR fortran/35946 | |
1167 | PR fortran/35947 | |
1168 | * trans_array.c (gfc_trans_array_constructor): Temporarily | |
1169 | realign loop, if loop->from is not zero, before creating | |
1170 | the temporary array and provide an offset. | |
1171 | ||
1172 | PR fortran/35959 | |
1173 | * trans-decl.c (gfc_init_default_dt): Add gfc_ prefix to name | |
1174 | and allow for NULL body. Change all references from | |
1175 | init_default_dt to gfc_init_default_dt. | |
1176 | * trans.h : Add prototype for gfc_init_default_dt. | |
1177 | * trans-array.c (gfc_trans_deferred_vars): After nullification | |
1178 | call gfc_init_default_dt for derived types with allocatable | |
1179 | components. | |
1180 | ||
fab96bae | 1181 | 2008-04-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1182 | ||
b2d026d9 | 1183 | PR fortran/35892 |
fab96bae | 1184 | * trans-common.c (create_common): Revert patch causing regression. |
1185 | ||
2231e638 | 1186 | 2008-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1187 | ||
1188 | PR fortran/35724 | |
1189 | * iresolve.c (gfc_resolve_eoshift): Check for NULL symtree in test for | |
1190 | optional argument attribute. | |
1191 | ||
6bd88715 | 1192 | 2008-04-16 Paul Thomas <pault@gcc.gnu.org> |
1193 | ||
1194 | PR fortran/35932 | |
1195 | * trans-intrinsic.c (gfc_conv_intrinsic_char): Even though KIND | |
1196 | is not used, the argument must be converted. | |
1197 | ||
a1865efc | 1198 | 2008-04-16 Jakub Jelinek <jakub@redhat.com> |
1199 | ||
1200 | PR target/35662 | |
1201 | * f95-lang.c (gfc_init_builtin_functions): Make sure | |
1202 | BUILT_IN_SINCOS{,F,L} types aren't varargs. | |
1203 | ||
05db9fcb | 1204 | 2008-04-15 Paul Thomas <pault@gcc.gnu.org> |
1205 | ||
1206 | PR fortran/35864 | |
1207 | * expr.c (scalarize_intrinsic_call): Reorder identification of | |
1208 | array argument so that if one is not found a segfault does not | |
1209 | occur. Return FAILURE if all scalar arguments. | |
1210 | ||
766398ac | 1211 | 2008-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1212 | Tobias Burnus <burnus@net-b.de> | |
1213 | ||
1214 | PR fortran/35882 | |
1215 | * options.c (gfc_init_options): Set the default maximum continuation | |
1216 | lines to 255 for both free and fixed form source for warnings. | |
1217 | (gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and | |
1218 | the -std=f95 free form max continuations to 39 for warnings. | |
1219 | * scanner.c (gfc_next_char_literal): Adjust the current_line number only | |
1220 | if it is less than the current locus. | |
1221 | ||
15618afa | 1222 | 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1223 | ||
1224 | PR fortran/25829 28655 | |
1225 | * io.c (io_tag): Add new tags for decimal, encoding, asynchronous, | |
1226 | round, sign, and id. (match_open_element): Match new tags. | |
1227 | (gfc_resolve_open): Resolve new tags. (gfc_match_open): Enable encoding | |
1228 | for DEFAULT only. Update error messages. (match_dt_element): Fix match | |
1229 | tag for asynchronous. Update error messages. (gfc_free_inquire): Free | |
1230 | new expressions. (match_inquire_element): Match new tags. | |
1231 | (gfc_match_inquire): Add constraint for ID and PENDING. | |
1232 | (gfc_resolve_inquire): Resolve new tags. | |
1233 | * trans-io.c (gfc_trans_inquire): Clean up whitespace and fix setting of | |
1234 | mask for ID parameter. | |
1235 | * ioparm.def: Fix order of parameters for pending, round, and sign. | |
1236 | NOTE: These must line up with the definitions in libgfortran/io/io.h. or | |
1237 | things don't work. | |
1238 | ||
87f1fed5 | 1239 | 2008-04-06 Paul Thomas <pault@gcc.gnu.org> |
1240 | ||
1241 | PR fortran/35780 | |
1242 | * expr.c (scalarize_intrinsic_call): Identify which argument is | |
1243 | an array and use that as the template. | |
1244 | (check_init_expr): Remove tests that first argument is an array | |
1245 | in the call to scalarize_intrinsic_call. | |
1246 | ||
296b5ce9 | 1247 | 2008-04-06 Tobias Schlüter <tobi@gcc.gnu.org> |
e16e8243 | 1248 | |
1249 | PR fortran/35832 | |
1250 | * io.c (io_tag): Add field 'value'. Split 'spec' field in | |
1251 | existing io_tags. | |
1252 | (match_etag, match_vtag, match_ltag): Split parsing in two steps | |
1253 | to give better error messages. | |
1254 | ||
a2a5c67f | 1255 | 2008-04-06 Tobias Burnus <burnus@net-b.de> |
1256 | ||
1257 | * io.c (check_io_constraints): Add constrains. ID= requires | |
1258 | asynchronous= and asynchronous= must be init expression. | |
1259 | ||
00c6e780 | 1260 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1261 | ||
1262 | * f95-lang.c: Set LANG_HOOKS_NAME to "GNU Fortran". | |
1263 | ||
6c4b9654 | 1264 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1265 | ||
1266 | * dump-parse-tree.c: Use fprintf, fputs and fputc instead of | |
1267 | gfc_status and gfc_status_char. Remove gfc_ prefix of the gfc_show_* | |
1268 | functions and make them static. Add new gfc_dump_parse_tree | |
1269 | function. | |
1270 | * gfortran.h (gfc_option_t): Rename verbose into dump_parse_tree. | |
1271 | (gfc_status, gfc_status_char): Delete prototypes. | |
1272 | * error.c (gfc_status, gfc_status_char): Remove functions. | |
1273 | * scanner.c (gfc_new_file): Use printf instead of gfc_status. | |
1274 | * options.c (gfc_init_options): Rename verbose into dump_parse_tree. | |
1275 | (gfc_handle_module_path_options): Use gfc_fatal_error instead of | |
1276 | gfc_status and exit. | |
1277 | (gfc_handle_option): Rename verbose into dump_parse_tree. | |
577c9781 | 1278 | * parse.c (gfc_parse_file): Use gfc_dump_parse_tree. |
6c4b9654 | 1279 | |
ff6af856 | 1280 | 2008-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1281 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
1282 | ||
1283 | PR fortran/25829 28655 | |
1284 | * dump-parse-tree.c (gfc_show_code_node): Show new I/O parameters. | |
1285 | * gfortran.h (gfc_statement): Add ST_WAIT enumerator. | |
1286 | (gfc_open): Add pointers for decimal, encoding, round, sign, | |
1287 | asynchronous. (gfc_inquire): Add pointers for asynchronous, decimal, | |
1288 | encoding, pending, round, sign, size, id. | |
1289 | (gfc_wait): New typedef struct. (gfc_dt): Add pointers for id, pos, | |
1290 | asynchronous, blank, decimal, delim, pad, round, sign. | |
1291 | (gfc_exec_op): Add EXEC_WAIT enumerator. (gfc_code): Add pointer for | |
1292 | wait. (gfc_free_wait), (gfc_resolve_wait): New function prototypes. | |
1293 | * trans-stmt.h (gfc_trans_wait): New function prototype. | |
1294 | * trans.c (gfc_trans_code): Add case for EXEC_WAIT. | |
1295 | * io.c (io_tag): Add new tags for DECIMAL, ENCODING, ROUND, SIGN, | |
1296 | ASYCHRONOUS, ID. (match_open_element): Add matchers for new tags. | |
1297 | (gfc_free_open): Free new pointers. (gfc_resolve_open): Resolve new | |
1298 | tags. (gfc_resolve_open): Remove comment around check for allowed | |
1299 | values and ASYNCHRONOUS, update it. Likewise for DECIMAL, ENCODING, | |
1300 | ROUND, and SIGN. (match_dt_element): Add matching for new tags. | |
1301 | (gfc_free_wait): New function. (gfc_resolve_wait): New function. | |
1302 | (match_wait_element): New function. (gfc_match_wait): New function. | |
1303 | * resolve.c (gfc_resolve_blocks): Add case for EXEC_WAIT. | |
1304 | (resolve_code): Add case for EXEC_WAIT. | |
1305 | * st.c (gfc_free_statement): Add case for EXEC_WAIT. | |
1306 | * trans-io.c (ioparam_type): Add IOPARM_ptype_wait. (gfc_st_parameter): | |
1307 | Add "wait" entry. (iocall): Add IOCALL_WAIT enumerator. | |
1308 | (gfc_build_io_library_fndecls): Add function declaration for st_wait. | |
1309 | (gfc_trans_open): Add mask bits for new I/O tags. | |
1310 | (gfc_trans_inquire): Add mask bits for new I/O tags. | |
1311 | (gfc_trans_wait): New translation function. | |
1312 | (build_dt): Add mask bits for new I/O tags. | |
1313 | * match.c (gfc_match_if) Add matcher for "wait". | |
1314 | * match.h (gfc_match_wait): Prototype for new function. | |
1315 | * ioparm.def: Add new I/O parameter definitions. | |
1316 | * parse.c (decode_statement): Add match for "wait" statement. | |
1317 | (next_statement): Add case for ST_WAIT. (gfc_ascii_statement): Same. | |
1318 | ||
23632bd1 | 1319 | 2008-04-03 Jakub Jelinek <jakub@redhat.com> |
1320 | ||
1321 | PR fortran/35786 | |
1322 | * openmp.c (resolve_omp_clauses): Diagnose if a clause symbol | |
1323 | isn't a variable. | |
1324 | ||
6fb2153a | 1325 | 2008-04-03 Tom Tromey <tromey@redhat.com> |
1326 | ||
1327 | * Make-lang.in (fortran_OBJS): New variable. | |
1328 | ||
32020b10 | 1329 | 2008-04-03 Paolo Bonzini <bonzini@gnu.org> |
1330 | ||
6c4b9654 | 1331 | * f95-lang.c (insert_block): Kill. |
32020b10 | 1332 | |
a12691f0 | 1333 | 2008-04-01 George Helffrich <george@gcc.gnu.org> |
1334 | ||
ae093573 | 1335 | PR fortran/35154, fortran/23057 |
a12691f0 | 1336 | * trans-common.c (create_common): Add decl to function |
1337 | chain to preserve identifier scope in debug output. | |
1338 | ||
eae7da65 | 1339 | 2008-04-01 Joseph Myers <joseph@codesourcery.com> |
1340 | ||
1341 | * gfortran.texi: Include gpl_v3.texi instead of gpl.texi | |
1342 | * Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of | |
1343 | gpl.texi. | |
1344 | ||
77759c92 | 1345 | 2008-03-30 Paul Thomas <pault@gcc.gnu.org> |
1346 | ||
1347 | PR fortran/35740 | |
1348 | * resolve.c (resolve_function, resolve_call): If the procedure | |
1349 | is elemental do not look for noncopying intrinsics. | |
1350 | ||
680e3123 | 1351 | 2008-03-29 Paul Thomas <pault@gcc.gnu.org> |
1352 | ||
1353 | PR fortran/35698 | |
1354 | * trans-array.c (gfc_array_init_size): Set 'size' zero if | |
1355 | negative in one dimension. | |
1356 | ||
1357 | PR fortran/35702 | |
1358 | * trans-expr.c (gfc_trans_string_copy): Only assign a char | |
1359 | directly if the lhs and rhs types are the same. | |
1360 | ||
67fcbf2b | 1361 | 2008-03-28 Daniel Franke <franke.daniel@gmail.com> |
1362 | Paul Richard Thomas <paul.richard.thomas@gmail.com> | |
1363 | ||
1364 | PR fortran/34714 | |
1365 | * primary.c (match_variable): Improved matching of function | |
1366 | result variables. | |
1367 | * resolve.c (resolve_allocate_deallocate): Removed checks if | |
1368 | the actual argument for STAT is a variable. | |
1369 | ||
735112d5 | 1370 | 2008-03-28 Tobias Burnus <burnus@net-b.de> |
1371 | ||
1372 | * symbol.c (gfc_get_default_type): Fix error message; option | |
1373 | -fallow_leading_underscore should be -fallow-leading-underscore | |
1374 | ||
40da7075 | 1375 | 2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1376 | ||
1377 | PR fortran/35724 | |
1378 | * iresolve.c (gfc_resolve_cshift): Check for NULL symtree in test for | |
1379 | optional argument attribute. | |
1380 | ||
21886706 | 1381 | 2008-03-27 Tom Tromey <tromey@redhat.com> |
1382 | ||
1383 | * Make-lang.in: Revert automatic dependency patch. | |
1384 | ||
277b05bb | 1385 | 2008-03-25 Tom Tromey <tromey@redhat.com> |
1386 | ||
1387 | * Make-lang.in: Remove .o targets. | |
1388 | (fortran_OBJS): New variable. | |
1389 | (fortran/gfortranspec.o): Move to fortran/. Reduce to variable | |
1390 | setting. | |
1391 | (GFORTRAN_D_OBJS): Update. | |
1392 | (GFORTRAN_TRANS_DEPS): Remove. | |
1393 | ||
9277c291 | 1394 | 2008-03-24 Paul Thomas <pault@gcc.gnu.org> |
1395 | ||
1396 | PR fortran/34813 | |
1397 | * resolve.c (resolve_structure_cons): It is an error to assign | |
1398 | NULL to anything other than a pointer or allocatable component. | |
1399 | ||
1400 | PR fortran/33295 | |
1401 | * resolve.c (resolve_symbol): If the symbol is a derived type, | |
1402 | resolve the derived type. If the symbol is a derived type | |
1403 | function, ensure that the derived type is visible in the same | |
1404 | namespace as the function. | |
1405 | ||
296b5ce9 | 1406 | 2008-03-23 Tobias Schlüter <tobi@gcc.gnu.org> |
0bf2cc60 | 1407 | |
1408 | * trans.h: Use fold_build in build1_v, build2_v and build3_v | |
1409 | macros. | |
1410 | * trans-openmp.c (gfc_trans_omp_critical, gfc_trans_omp_single): | |
1411 | Don't use build2_v macro. | |
1412 | ||
a569a60f | 1413 | 2008-03-19 Daniel Franke <franke.daniel@gmail.com> |
1414 | ||
1415 | PR fortran/35152 | |
1416 | * interface.c (gfc_procedure_use): Check for keyworded arguments in | |
1417 | procedures without explicit interfaces. | |
1418 | ||
c3e2d7e5 | 1419 | 2008-03-16 Paul Thomas <pault@gcc.gnu.org> |
1420 | ||
1421 | PR fortran/35470 | |
1422 | * resolve.c (check_assumed_size_reference): Only visit the | |
1423 | first reference and look directly at the highest dimension. | |
1424 | ||
f176ef42 | 1425 | 2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1426 | ||
1427 | PR fortran/35184 | |
1428 | * trans-array.c (gfc_conv_array_index_offset): Remove unnecessary | |
1429 | assert. | |
1430 | ||
05035f4d | 1431 | 2008-03-15 Daniel Franke <franke.daniel@gmail.com> |
1432 | ||
1433 | PR fortran/35584 | |
1434 | * resolve.c (resolve_branch): Less strict and pessimistic warning | |
1435 | message. | |
1436 | ||
c616456b | 1437 | 2008-03-11 Paolo Bonzini <bonzini@gnu.org> |
1438 | ||
05035f4d | 1439 | * f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete. |
1440 | (gfc_be_parse_file): Call clear_binding_stack from here. | |
c616456b | 1441 | (gfc_clear_binding_stack): Rename to clear_binding_stack. |
1442 | ||
f714d904 | 1443 | 2008-03-09 Paul Thomas <pault@gcc.gnu.org> |
1444 | ||
1445 | PR fortran/35474 | |
1446 | * module.c (mio_symtree_ref): After providing a symbol for a | |
1447 | missing equivalence member, resolve and NULL the fixups. | |
1448 | ||
2c3b9819 | 1449 | 2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1450 | ||
1451 | * invoke.texi (Error and Warning Options): Document | |
1452 | -Wline-truncation. | |
1453 | ||
0f8b1742 | 1454 | 2008-03-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1455 | ||
1456 | PR fortran/34956 | |
1457 | * trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid | |
1458 | checking bounds of absent optional arguments. | |
1459 | ||
2dcae6c7 | 1460 | 2008-03-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1461 | ||
1462 | PR fortran/33197 | |
1463 | * intrinsic.c (add_functions): Add simplification routines for | |
1464 | ERF, DERF, ERFC and DERFC. | |
1465 | * decl.c (gfc_match_suffix, gfc_match_subroutine): Change GNU | |
1466 | extensions into Fortran 2008 features. | |
1467 | * intrinsic.h (gfc_simplify_erf, gfc_simplify_erfc): New | |
1468 | prototypes. | |
1469 | * simplify.c (gfc_simplify_erf, gfc_simplify_erfc): New functions. | |
1470 | ||
ff4425cf | 1471 | 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1472 | ||
1473 | PR fortran/33197 | |
1474 | * intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH, | |
1475 | ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N}, | |
1476 | ERFC_SCALED, LOG_GAMMA and HYPOT. | |
1477 | * intrinsic.h (gfc_check_hypot, gfc_simplify_hypot, | |
1478 | gfc_resolve_hypot): New prototypes. | |
1479 | * mathbuiltins.def: Add HYPOT builtin. Make complex versions of | |
1480 | ACOSH, ASINH and ATANH available. | |
1481 | * gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values. | |
1482 | * lang.opt: Add -std=f2008 option. | |
1483 | * libgfortran.h: Define GFC_STD_F2008. | |
1484 | * lang-specs.h: Add .f08 and .F08 file suffixes. | |
1485 | * iresolve.c (gfc_resolve_hypot): New function. | |
1486 | * parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008. | |
1487 | * check.c (gfc_check_hypot): New function. | |
1488 | * trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin. | |
1489 | * options.c (set_default_std_flags): Allow Fortran 2008 by default. | |
1490 | (form_from_filename): Add .f08 suffix. | |
1491 | (gfc_handle_option): Handle -std=f2008 option. | |
1492 | * simplify.c (gfc_simplify_hypot): New function. | |
1493 | * gfortran.texi: Document Fortran 2008 status and file extensions. | |
1494 | * intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics, | |
1495 | as well as HYPOT and ERFC_SCALED. Update documentation of ERF, | |
1496 | ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH. | |
1497 | * invoke.texi: Document the new -std=f2008 option. | |
1498 | ||
e46a4556 | 1499 | 2008-03-02 Jakub Jelinek <jakub@redhat.com> |
1500 | ||
1501 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
1502 | dates. | |
1503 | ||
52179f31 | 1504 | 2008-02-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1505 | ||
1506 | PR fortran/35059 | |
1507 | * expr.c (find_array_element): Modify traversing the constructor to | |
1508 | avoid trying to access NULL memory pointed to by next for the | |
1509 | last element. (find_array_section): Exit while loop if cons->next is | |
1510 | NULL. | |
1511 | * trans-expr.c (gfc_conv_scalar_char_value): Initialize gfc_typespec. | |
1512 | (gfc_conv_function_call): Same. | |
1513 | * decl.c (gfc_match_implicit): Same. | |
1514 | * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Same. | |
1515 | ||
fa7b6574 | 1516 | 2008-02-28 Daniel Franke <franke.daniel@gmail.com> |
1517 | ||
1518 | PR fortran/31463 | |
1519 | PR fortran/33950 | |
1520 | PR fortran/34296 | |
1521 | * lang.opt: Added -Wreturn-type. | |
1522 | * options.c (gfc_handle_option): Recognize -Wreturn-type. | |
1523 | * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions | |
1524 | where the result value is not set. | |
1525 | (gfc_generate_function_code): Likewise. | |
1526 | (generate_local_decl): Emit warnings for funtions whose RESULT | |
1527 | variable is not set. | |
1528 | ||
36efa756 | 1529 | 2008-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1530 | ||
1531 | PR fortran/34868 | |
1532 | * trans-expr.c (gfc_conv_variable): Don't build indirect | |
1533 | references when explicit interface is mandated. | |
1534 | * resolve.c (resolve_formal_arglist): Set attr.always_explicit | |
1535 | on the result symbol as well as the procedure symbol. | |
1536 | ||
34e106da | 1537 | 2008-02-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1538 | ||
1539 | PR fortran/33387 | |
1540 | * trans.h: Remove prototypes for gfor_fndecl_math_exponent4, | |
1541 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
1542 | gfor_fndecl_math_exponent16. | |
1543 | * f95-lang.c (build_builtin_fntypes): Add new function types. | |
1544 | (gfc_init_builtin_functions): Add new builtins for nextafter, | |
1545 | frexp, ldexp, fabs, scalbn and inf. | |
1546 | * iresolve.c (gfc_resolve_rrspacing): Don't add hidden arguments. | |
1547 | (gfc_resolve_scale): Don't convert type of second argument. | |
1548 | (gfc_resolve_set_exponent): Likewise. | |
1549 | (gfc_resolve_size): Don't add hidden arguments. | |
1550 | * trans-decl.c: Remove gfor_fndecl_math_exponent4, | |
1551 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
1552 | gfor_fndecl_math_exponent16. | |
1553 | * trans-intrinsic.c (gfc_intrinsic_map): Remove intrinsics | |
1554 | for scalbn, fraction, nearest, rrspacing, set_exponent and | |
1555 | spacing. | |
1556 | (gfc_conv_intrinsic_exponent): Directly call frexp. | |
1557 | (gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_nearest, | |
1558 | gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, | |
1559 | gfc_conv_intrinsic_scale, gfc_conv_intrinsic_set_exponent): New | |
1560 | functions. | |
1561 | (gfc_conv_intrinsic_function): Use the new functions above. | |
1562 | ||
187a3ad6 | 1563 | 2008-02-26 Tobias Burnus <burnus@net-b.de> |
1564 | ||
1565 | PR fortran/35033 | |
1566 | * interface.c (check_operator_interface): Show better line for error | |
1567 | messages; fix constrains for user-defined assignment operators. | |
1568 | (gfc_extend_assign): Fix constrains for user-defined assignment | |
1569 | operators. | |
1570 | ||
9c85a98a | 1571 | 2008-02-26 Tom Tromey <tromey@redhat.com> |
1572 | ||
1573 | * trans-io.c (set_error_locus): Remove old location code. | |
1574 | * trans-decl.c (gfc_set_decl_location): Remove old location code. | |
1575 | * f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION. | |
1576 | * scanner.c (gfc_gobble_whitespace): Remove old location code. | |
1577 | (get_file): Likewise. | |
1578 | (preprocessor_line): Likewise. | |
1579 | (load_file): Likewise. | |
1580 | (gfc_new_file): Likewise. | |
1581 | * trans.c (gfc_trans_runtime_check): Remove old location code. | |
1582 | (gfc_get_backend_locus): Likewise. | |
1583 | (gfc_set_backend_locus): Likewise. | |
1584 | * data.c (gfc_assign_data_value): Remove old location code. | |
1585 | * error.c (show_locus): Remove old location code. | |
1586 | * gfortran.h (gfc_linebuf): Remove old location code. | |
1587 | (gfc_linebuf_linenum): Remove old-location variant. | |
1588 | ||
8fb9e3cd | 1589 | 2008-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1590 | ||
1591 | PR fortran/34729 | |
1592 | * trans-const.c (gfc_build_string_const): Don't call gettext. | |
1593 | (gfc_build_localized_string_const): New function. | |
1594 | * trans-const.h (gfc_build_localized_string_const): New prototype. | |
1595 | * trans.c (gfc_trans_runtime_check): Use | |
1596 | gfc_build_localized_string_const instead of gfc_build_string_const. | |
1597 | (gfc_call_malloc): Likewise. | |
1598 | (gfc_allocate_with_status): Likewise. | |
1599 | (gfc_allocate_array_with_status): Likewise. | |
1600 | (gfc_deallocate_with_status): Likewise. | |
1601 | (gfc_call_realloc): Likewise. | |
1602 | * trans-io.c (gfc_trans_io_runtime_check): Likewise. | |
1603 | ||
296b5ce9 | 1604 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
f3db21c0 | 1605 | |
1606 | * arith.c: Update copyright years. | |
1607 | * arith.h: Likewise. | |
1608 | * array.c: Likewise. | |
1609 | * bbt.c: Likewise. | |
1610 | * check.c: Likewise. | |
1611 | * data.c: Likewise. | |
1612 | * data.h: Likewise. | |
1613 | * decl.c: Likewise. | |
1614 | * dependency.c: Likewise. | |
1615 | * dependency.h: Likewise. | |
1616 | * dump-parse-tree.c: Likewise. | |
1617 | * error.c: Likewise. | |
1618 | * expr.c: Likewise. | |
1619 | * gfc-internals.texi: Likewise. | |
1620 | * gfortran.h: Likewise. | |
1621 | * gfortran.texi: Likewise. | |
1622 | * gfortranspec.c: Likewise. | |
1623 | * interface.c: Likewise. | |
1624 | * intrinsic.c: Likewise. | |
1625 | * intrinsic.h: Likewise. | |
1626 | * intrinsic.texi: Likewise. | |
1627 | * invoke.texi: Likewise. | |
1628 | * io.c: Likewise. | |
1629 | * iresolve.c: Likewise. | |
1630 | * iso-c-binding.def: Likewise. | |
1631 | * iso-fortran-env.def: Likewise. | |
1632 | * lang-specs.h: Likewise. | |
1633 | * lang.opt: Likewise. | |
1634 | * libgfortran.h: Likewise. | |
1635 | * match.c: Likewise. | |
1636 | * match.h: Likewise. | |
1637 | * matchexp.c: Likewise. | |
1638 | * misc.c: Likewise. | |
1639 | * module.c: Likewise. | |
1640 | * openmp.c: Likewise. | |
1641 | * options.c: Likewise. | |
1642 | * parse.c: Likewise. | |
1643 | * parse.h: Likewise. | |
1644 | * primary.c: Likewise. | |
1645 | * resolve.c: Likewise. | |
1646 | * scanner.c: Likewise. | |
1647 | * simplify.c: Likewise. | |
1648 | * st.c: Likewise. | |
1649 | * symbol.c: Likewise. | |
1650 | * target-memory.c: Likewise. | |
1651 | * target-memory.h: Likewise. | |
1652 | * trans-array.h: Likewise. | |
1653 | * trans-const.h: Likewise. | |
1654 | * trans-stmt.h: Likewise. | |
1655 | * trans-types.c: Likewise. | |
1656 | * trans-types.h: Likewise. | |
1657 | * types.def: Likewise. | |
1658 | ||
59ef97a3 | 1659 | 2008-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1660 | ||
1661 | PR fortran/35223 | |
1662 | * simplify.c (gfc_simplify_ibclr), (gfc_simplify_ibits), | |
1663 | (gfc_simplify_ibset): Remove call to range_check. | |
1664 | (simplify_cmplx), (gfc_simplify_dble), (gfc_simplify_float) | |
1665 | (gfc_simplify_real): Add call gfc_clear_ts to initialize the | |
1666 | temporary gfc_typspec variable. | |
1667 | ||
296b5ce9 | 1668 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
1f15b56d | 1669 | |
1670 | * trans-array.c (gfc_conv_descriptor_data_get, | |
1671 | gfc_conv_descriptor_data_set_internal, | |
1672 | gfc_conv_descriptor_data_addr, gfc_conv_descriptor_offset, | |
1673 | gfc_conv_descriptor_dtype, gfc_conv_descriptor_dimension, | |
1674 | gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound, | |
1675 | gfc_conv_descriptor_ubound, gfc_trans_create_temp_array, | |
1676 | gfc_conv_array_transpose, gfc_grow_array, | |
1677 | gfc_trans_array_constructor_subarray, | |
1678 | gfc_trans_array_constructor_value, gfc_trans_scalarized_loop_end, | |
1679 | gfc_array_init_size, gfc_array_allocate, gfc_array_deallocate, | |
1680 | gfc_conv_array_initializer, gfc_trans_array_bounds, | |
1681 | gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, | |
1682 | gfc_get_dataptr_offset, gfc_conv_array_parameter, | |
1683 | gfc_trans_dealloc_allocated, get_full_array_size, | |
1684 | gfc_duplicate_allocatable, structure_alloc_comps): Use fold_buildN | |
1685 | instead of buildN. | |
1686 | * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy, | |
1687 | gfc_conv_component_ref, gfc_conv_cst_int_power, | |
1688 | gfc_conv_function_call, gfc_trans_structur_assign): Likewise. | |
1689 | * trans-common.c (create_common): Likewise. | |
1690 | * trans-openmp.c (gfc_trans_omp_atomic, gfc_trans_omp_do): | |
1691 | Likewise. | |
1692 | * trans-const.c (gfc_conv_constant_to_tree): Likewise. | |
1693 | * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_do, | |
1694 | gfc_trans_integer_select, gfc_trans_character_select, | |
1695 | gfc_trans_forall_loop, compute_overall_iter_number, | |
1696 | gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_allocate, | |
1697 | gfc_trans_deallocate): Likewise. | |
1698 | * trans.c (gfc_build_addr_expr, gfc_trans_runtime_check, | |
1699 | gfc_allocate_with_status, gfc_allocate_array_with_status, | |
1700 | gfc_deallocate_with_status): Likewise. | |
1701 | * f95-lang.c (gfc_truthvalue_conversion): Likewise. | |
1702 | * trans-io.c (set_parameter_const, set_parameter_value, | |
1703 | set_parameter_ref, set_string, set_internal_unit, io_result, | |
1704 | set_error_locus, nml_get_addr_expr, transfer_expr): Likewise. | |
1705 | * trans-decl.c (gfc_build_qualified_array, build_entry_thunks, | |
1706 | gfc_get_fake_result_decl, gfc_trans_auto_character_variable, | |
1707 | gfc_generate_function_code): Likewise. | |
1708 | * convert.c (convert): Likewise. | |
1709 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
1710 | build_fixbound_expr, build_fix_expr, gfc_conv_intrinsic_aint, | |
1711 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_imagpart, | |
1712 | gfc_conv_intrinsic_conjg, gfc_conv_intrinsic_abs, | |
1713 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, | |
1714 | gfc_conv_intrinsic_dim, gfc_conv_intrinsic_dprod, | |
1715 | gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, | |
1716 | gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax, | |
1717 | gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_count, | |
1718 | gfc_conv_intrinsic_arith, gfc_conv_intrinsic_dot_product, | |
1719 | gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, | |
1720 | gfc_conv_intrinsic_btest, gfc_conv_intrinsic_not, | |
1721 | gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft, | |
1722 | gfc_conv_intrinsic_ichar, gfc_conv_intrinsic_size, | |
1723 | gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, | |
1724 | gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_trim, | |
1725 | gfc_conv_intrinsic_repeat): Likewise. | |
1726 | ||
42f2ba28 | 1727 | 2008-02-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
6aee6ac8 | 1728 | |
1729 | PR target/25477 | |
1730 | * trans-expr.c (gfc_conv_power_op): Use BUILT_IN_CPOW{F,,L}. | |
1731 | * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_CPOW{F,,L}. | |
1732 | * trans.h (gfor_fndecl_math_cpow, gfor_fndecl_math_cpowf, | |
1733 | gfor_fndecl_math_cpowl10, gfor_fndecl_math_cpowl16): Remove. | |
1734 | * trans-decl.c: Likewise. | |
1735 | ||
59ef97a3 | 1736 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1737 | ||
1738 | PR fortran/35059 | |
1739 | * expr.c (find_array_element): Modify traversing the constructor to | |
1740 | avoid trying to access NULL memory pointed to by next for the | |
1741 | last element. (find_array_section): Exit while loop if cons->next is | |
1742 | NULL. | |
1743 | ||
1744 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
a4871ae0 | 1745 | |
1746 | PR fortran/34907 | |
1747 | * iresolve.c (resolve_mask_arg): Add gfc_clear_ts to initialize | |
1748 | structure. | |
1749 | (gfc_resolve_aint): Likewise. | |
1750 | (gfc_resolve_anint): Likewise. | |
1751 | (gfc_resolve_besn): Likewise. | |
1752 | (gfc_resolve_cshift): Likewise. | |
1753 | (gfc_resolve_ctime): Likewise. | |
1754 | (gfc_resolve_eoshift): Likewise. | |
1755 | (gfc_resolve_index_func): Likewise. | |
1756 | (gfc_resolve_isatty): Likewise. | |
1757 | (gfc_resolve_malloc): Likewise. | |
1758 | (gfc_resolve_rrspacing): Likewise. | |
1759 | (gfc_resolve_scale): Likewise. | |
1760 | (gfc_resolve_set_exponent): Likewise. | |
1761 | (gfc_resolve_spacing): Likewise. | |
1762 | (gfc_resolve_spacing): Likewise. | |
1763 | (gfc_resolve_fgetc): Likewise. | |
1764 | (gfc_resolve_fputc): Likewise. | |
1765 | (gfc_resolve_ftell): Likewise. | |
1766 | (gfc_resolve_ttynam): Likewise. | |
1767 | (gfc_resolve_alarm_sub): Likewise. | |
1768 | (gfc_resolve_mvbits): Likewise. | |
1769 | (gfc_resolve_getarg): Likewise. | |
1770 | (gfc_resolve_signal_sub): Likewise. | |
1771 | (gfc_resolve_exit): Likewise. | |
1772 | (gfc_resolve_flush): Likewise. | |
1773 | (gfc_resolve_free): Likewise. | |
1774 | (gfc_resolve_ctime_sub): Likewise. | |
1775 | (gfc_resolve_fgetc_sub): Likewise. | |
1776 | (gfc_resolve_fputc_sub): Likewise. | |
1777 | (gfc_resolve_fseek_sub): Likewise. | |
1778 | (gfc_resolve_ftell_sub): Likewise. | |
1779 | (gfc_resolve_ttynam_sub): Likewise. | |
1780 | ||
2dd2bcbd | 1781 | 2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1782 | ||
1783 | * gfc-internals.texi: Fix typos and markup nits. | |
1784 | * gfortran.texi: Likewise. | |
1785 | * intrinsic.texi: Likewise. | |
1786 | ||
751ff693 | 1787 | 2008-02-21 Richard Guenther <rguenther@suse.de> |
1788 | ||
1789 | * trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES | |
1790 | as unary PAREN_EXPR for real and complex typed expressions. | |
1791 | (gfc_conv_unary_op): Fold the built tree. | |
1792 | ||
46c5f6e7 | 1793 | 2008-02-20 Tobias Burnus <burnus@net-b.de> |
1794 | ||
1795 | PR fortran/34997 | |
1796 | * match.c (gfc_match_name): Improve error message for '$'. | |
1797 | ||
a046ed2b | 1798 | 2008-02-19 Daniel Franke <franke.daniel@gmail.com> |
1799 | ||
1800 | PR fortran/35030 | |
1801 | * expr.c (gfc_check_pointer_assign): Add type and kind information | |
1802 | to type-mismatch message. | |
1803 | (gfc_check_assign): Unify error messages. | |
1804 | ||
3494c8d0 | 1805 | 2008-02-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1806 | ||
1807 | PR fortran/34952 | |
1808 | * gfortran.texi: Create new section for unimplemented extensions. | |
1809 | Add "STRUCTURE and RECORD" and "ENCODE and DECODE statements". | |
1810 | Remove "smaller projects" list. Fix a few typos. | |
1811 | ||
70dabb1d | 1812 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1813 | ||
1814 | * intrinsic.texi: Rename INDEX node to avoid clashing with | |
1815 | index.html on case-insensitive systems. | |
1816 | ||
6b956f99 | 1817 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1818 | ||
1819 | PR fortran/35150 | |
1820 | * trans-expr.c (gfc_conv_function_call): Force evaluation of | |
1821 | se->expr. | |
1822 | ||
8790974d | 1823 | 2008-02-10 Daniel Franke <franke.daniel@gmail.com> |
1824 | ||
a046ed2b | 1825 | PR fortran/35019 |
8790974d | 1826 | * lang.opt: Allow '-J<dir>' next to '-J <dir>', |
1827 | likewise '-I <dir>' and '-I<dir>'. | |
1828 | ||
6ca01c3b | 1829 | 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1830 | ||
1831 | PR other/35107 | |
1832 | * Make-lang.in (f951): Add $(GMPLIBS). | |
1833 | ||
9bb29b55 | 1834 | 2008-02-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1835 | ||
1836 | PR fortran/35037 | |
1837 | * trans-common.c (build_field): Mark fields as volatile when needed. | |
1838 | ||
8b13bffd | 1839 | 2008-02-05 Tobias Burnus <burnus@net-b.de> |
1840 | ||
1841 | PR fortran/35093 | |
1842 | * data.c (gfc_assign_data_value): Only free "size" if | |
1843 | it has not already been freed. | |
1844 | ||
5b83554b | 1845 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
1846 | ||
1847 | PR fortran/34945 | |
1848 | * array.c (match_array_element_spec): Remove check for negative | |
1849 | array size. | |
1850 | (gfc_resolve_array_spec): Add check for negative size. | |
1851 | ||
f106ab4b | 1852 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
1853 | ||
1854 | PR fortran/32315 | |
1855 | * data.c (gfc_assign_data_value): Add bounds check for array | |
1856 | references. | |
1857 | ||
847fe274 | 1858 | 2008-02-04 Daniel Franke <franke.daniel@gmail.com> |
1859 | ||
1860 | * resolve.c (resolve_where): Fix typo. | |
1861 | (gfc_resolve_where_code_in_forall): Likewise. | |
1862 | ||
a9e7fd6a | 1863 | 2008-02-03 Paul Thomas <pault@gcc.gnu.org> |
1864 | ||
1865 | PR fortran/32760 | |
1866 | * resolve.c (resolve_allocate_deallocate): New function. | |
1867 | (resolve_code): Call it for allocate and deallocate. | |
1868 | * match.c (gfc_match_allocate, gfc_match_deallocate) : Remove | |
1869 | the checking of the STAT tag and put in above new function. | |
1870 | * primary,c (match_variable): Do not fix flavor of host | |
1871 | associated symbols yet if the type is not known. | |
1872 | ||
969664a9 | 1873 | 2008-01-31 Paul Thomas <pault@gcc.gnu.org> |
1874 | ||
1875 | PR fortran/34910 | |
1876 | * expr.c (gfc_check_assign): It is an error to assign | |
1877 | to a sibling procedure. | |
1878 | ||
8d39570e | 1879 | 2008-01-30 Paul Thomas <pault@gcc.gnu.org> |
1880 | ||
1881 | PR fortran/34975 | |
1882 | * symbol.c (gfc_delete_symtree, gfc_undo_symbols): Rename | |
1883 | delete_symtree to gfc_delete_symtree. | |
1884 | * gfortran.h : Add prototype for gfc_delete_symtree. | |
1885 | * module.c (load_generic_interfaces): Transfer symbol to a | |
1886 | unique symtree and delete old symtree, instead of renaming. | |
1887 | (read_module): The rsym and the found symbol are the same, so | |
1888 | the found symtree can be deleted. | |
1889 | ||
1890 | PR fortran/34429 | |
1891 | * decl.c (match_char_spec): Remove the constraint on deferred | |
1892 | matching of functions and free the length expression. | |
1893 | delete_symtree to gfc_delete_symtree. | |
1894 | (gfc_match_type_spec): Whitespace. | |
1895 | (gfc_match_function_decl): Defer characteristic association for | |
1896 | all types except BT_UNKNOWN. | |
1897 | * parse.c (decode_specification_statement): Only derived type | |
1898 | function matching is delayed to the end of specification. | |
1899 | ||
27f029aa | 1900 | 2008-01-28 Tobias Burnus <burnus@net-b.de> |
1901 | ||
1902 | PR libfortran/34980 | |
1903 | * simplify.c (gfc_simplify_shape): Simplify rank zero arrays. | |
1904 | ||
dcd80807 | 1905 | 2008-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1906 | ||
1907 | PR fortran/34990 | |
1908 | * array.c (gfc_check_constructor_type): Revert clearing the expression. | |
1909 | ||
079d3acc | 1910 | 2008-01-26 Tobias Burnus <burnus@net-b.de> |
1911 | ||
1912 | PR fortran/34848 | |
1913 | * trans-expr.c (gfc_conv_function_call): Don't call | |
1914 | gfc_add_interface_mapping if the expression is NULL. | |
1915 | ||
cbac92d6 | 1916 | 2008-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1917 | ||
1918 | PR fortran/31610 | |
1919 | * trans-array.c (gfc_trans_create_temp_array): Remove call to | |
1920 | gcc_assert (integer_zerop (loop->from[n])). | |
1921 | ||
5a82d68e | 1922 | 2008-01-25 Daniel Franke <franke.daniel@gmail.com> |
1923 | ||
1924 | PR fortran/34661 | |
1925 | * resolve.c (resolve_where): Added check if user-defined assignment | |
1926 | operator is an elemental subroutine. | |
1927 | (gfc_resolve_where_code_in_forall): Likewise. | |
1928 | ||
8342527a | 1929 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
1930 | ||
1931 | PR fortran/33375 | |
1932 | PR fortran/34858 | |
1933 | * gfortran.h: Revert changes from 2008-01-17. | |
1934 | * match.c: Likewise. | |
1935 | * symbol.c: Likewise. | |
1936 | (gfc_undo_symbols): Undo namespace changes related to common blocks. | |
1937 | ||
2b119350 | 1938 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
1939 | ||
1940 | PR fortran/34202 | |
1941 | * data.c (formalize_structure_cons): Skip formalization on | |
1942 | empty structures. | |
1943 | ||
7f04a1ee | 1944 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
1945 | ||
1946 | * gfortran.texi (OpenMP): Extended existing documentation. | |
1947 | (contributors): Added major contributors of 2008 that were | |
1948 | not listed yet. | |
1949 | (proposed extensions): Removed implemented items. | |
1950 | ||
1951 | 2008-01-24 Paul Thomas <pault@gcc.gnu.org> | |
1952 | ||
1953 | PR fortran/34872 | |
1954 | * parse.c (next_statement) : If ST_GET_FCN_CHARACTERISTICS is | |
1955 | seen, check for a statement label and, if present, delete it | |
1956 | and set the locus to the start of the statement. | |
1957 | ||
25d7376a | 1958 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
1959 | ||
1960 | PR fortran/34875 | |
1961 | * trans-io.c (gfc_trans_transfer): If the array reference in a | |
1962 | read has a vector subscript, use gfc_conv_subref_array_arg to | |
1963 | copy back the temporary. | |
1964 | ||
624547f6 | 1965 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
1966 | ||
1967 | PR fortran/34848 | |
1968 | * interface.c (compare_actual_formal): Fix adding type | |
1969 | to missing_arg_type for absent optional arguments. | |
1970 | ||
ad137586 | 1971 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
1972 | ||
1973 | PR fortran/34907 | |
1974 | * parse.c (parse_spec): Change = into ==. | |
1975 | ||
769e92a1 | 1976 | 2008-01-22 Daniel Franke <franke.daniel@gmail.com> |
1977 | ||
1978 | PR fortran/34915 | |
1979 | * expr.c (check_elemental): Fix check for valid data types. | |
1980 | ||
9357a094 | 1981 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
1982 | ||
1983 | PR fortran/34899 | |
1984 | * scanner.c (load_line): Support <tab><digit> continuation lines. | |
1985 | * invoke.texi (-Wtabs): Document this. | |
1986 | ||
cc24761c | 1987 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
1988 | ||
1989 | PR fortran/34896 | |
1990 | * module.c (read_module): Set use_rename attribute. | |
1991 | ||
e1361bdf | 1992 | 2007-01-21 Tobias Burnus <burnus@net-b.de> |
1993 | ||
1994 | PR fortran/34901 | |
1995 | * interface.c (compare_parameter): Improved error message | |
1996 | for arguments of same type and mismatched kinds. | |
1997 | ||
82190250 | 1998 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
1999 | ||
2000 | PR fortran/34861 | |
2001 | * resolve.c (resolve_entries): Do not do an array bounds check | |
2002 | if the result symbols are the same. | |
2003 | ||
2004 | PR fortran/34854 | |
2005 | * module.c (read_module) : Hide the symtree of the previous | |
2006 | version of the symbol if this symbol is renamed. | |
2007 | ||
f1ce7f3e | 2008 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
2009 | ||
2010 | PR fortran/34784 | |
2011 | * array.c (gfc_check_constructor_type): Clear the expression ts | |
2012 | so that the checking starts from the deepest level of array | |
2013 | constructor. | |
2014 | * primary.c (match_varspec): If an unknown type is changed to | |
2015 | default character and the attempt to match a substring fails, | |
2016 | change it back to unknown. | |
2017 | ||
2018 | PR fortran/34785 | |
2019 | * trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is | |
2020 | NULL for an array constructor, use the cl.length expression to | |
2021 | build it. | |
2022 | (gfc_conv_array_parameter): Change call to gfc_evaluate_now to | |
2023 | a tree assignment. | |
2024 | ||
d48e2d18 | 2025 | 2008-01-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
2026 | ||
2027 | PR fortran/34817 | |
2028 | PR fortran/34838 | |
2029 | * iresolve.c (gfc_resolve_all): Remove conversion of mask | |
2030 | argument to kind=1 by removing call to resolve_mask_arg(). | |
2031 | (gfc_resolve_any): Likewise. | |
2032 | ||
f503118e | 2033 | 2008-01-19 Tobias Burnus <burnus@net-b.de> |
2034 | ||
2035 | PR fortran/34760 | |
2036 | * primary.c (match_variable): Handle FL_UNKNOWN without | |
2037 | uneducated guessing. | |
2038 | (match_variable): Improve error message. | |
2039 | ||
1706059b | 2040 | 2008-01-18 Tobias Burnus <burnus@net-b.de> |
2041 | ||
2042 | PR fortran/32616 | |
2043 | * interface.c (get_expr_storage_size): Return storage size | |
2044 | for array element designators. | |
2045 | (compare_actual_formal): Reject unequal string sizes for | |
2046 | assumed-shape dummy arguments. And fix error message for | |
2047 | array-sections with vector subscripts. | |
2048 | ||
e2dccf8a | 2049 | 2008-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2050 | ||
2051 | PR fortran/34556 | |
2052 | * simplify.c (is_constant_array_expr): New static function that returns | |
2053 | true if the given expression is an array and is constant. | |
2054 | (gfc_simplify_reshape): Use new function. | |
2055 | ||
922715fd | 2056 | 2008-01-17 H.J. Lu <hongjiu.lu@intel.com> |
2057 | ||
2058 | PR fortran/33375 | |
2059 | * symbol.c (free_common_tree): Renamed to ... | |
2060 | (gfc_free_common_tree): This. Remove static. | |
2061 | (gfc_free_namespace): Updated. | |
2062 | ||
2063 | * gfortran.h (gfc_free_common_tree): New. | |
2064 | ||
2065 | * match.c (gfc_match_common): Call gfc_free_common_tree () with | |
2066 | gfc_current_ns->common_root and set gfc_current_ns->common_root | |
2067 | to NULL on syntax error. | |
2068 | ||
eeaa887f | 2069 | 2008-01-18 Richard Sandiford <rsandifo@nildram.co.uk> |
2070 | ||
2071 | PR fortran/34686 | |
2072 | * trans-expr.c (gfc_conv_function_call): Use proper | |
2073 | type for returned character pointers. | |
2074 | ||
077932f9 | 2075 | 2008-01-17 Paul Thomas <pault@gcc.gnu.org> |
2076 | ||
2077 | PR fortran/34429 | |
2078 | PR fortran/34431 | |
2079 | PR fortran/34471 | |
2080 | * decl.c : Remove gfc_function_kind_locus and | |
2081 | gfc_function_type_locus. Add gfc_matching_function. | |
2082 | (match_char_length): If matching a function and the length | |
2083 | does not match, return MATCH_YES and try again later. | |
2084 | (gfc_match_kind_spec): The same. | |
2085 | (match_char_kind): The same. | |
2086 | (gfc_match_type_spec): The same for numeric and derived types. | |
2087 | (match_prefix): Rename as gfc_match_prefix. | |
2088 | (gfc_match_function_decl): Except for function valued character | |
2089 | lengths, defer applying kind, type and charlen info until the | |
2090 | end of specification block. | |
2091 | gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS. | |
2092 | parse.c (decode_specification_statement): New function. | |
2093 | (decode_statement): Call it when a function has kind = -1. Set | |
2094 | and reset gfc_matching function, as function statement is being | |
2095 | matched. | |
2096 | (match_deferred_characteristics): Simplify with a single call | |
2097 | to gfc_match_prefix. Do appropriate error handling. In any | |
2098 | case, make sure that kind = -1 is reset or corrected. | |
2099 | (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS. | |
2100 | Throw an error if kind = -1 after last specification statement. | |
2101 | parse.h : Prototype for gfc_match_prefix. | |
2102 | ||
d9c7bfaa | 2103 | 2008-01-16 Tobias Burnus <burnus@net-b.de> |
2104 | ||
2105 | PR fortran/34796 | |
2106 | * interface.c (compare_parameter): Allow AS_DEFERRED array | |
2107 | elements and reject attr.pointer array elemenents. | |
2108 | (get_expr_storage_size): Return storage size of elements of | |
2109 | assumed-shape and pointer arrays. | |
2110 | ||
159a8dc3 | 2111 | 2008-01-15 Sebastian Pop <sebastian.pop@amd.com> |
2112 | ||
2113 | * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins | |
2114 | for flag_tree_parallelize_loops. | |
2115 | ||
76b9f891 | 2116 | 2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
2117 | ||
2118 | PR libfortran/34671 | |
2119 | * iresolve.c (gfc_resolve_all): Call resolve_mask_arg. | |
2120 | (gfc_resolve_any): Likewise. | |
2121 | (gfc_resolve_count): Likewise. Don't append kind of | |
2122 | argument to function name. | |
2123 | ||
67170043 | 2124 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
2125 | ||
2126 | PR fortran/34665 | |
2127 | * resolve.c (resolve_actual_arglist): For expressions, | |
2128 | also check for assume-sized arrays. | |
2129 | * interface.c (compare_parameter): Move F2003 character checks | |
2130 | here, print error messages here, reject elements of | |
2131 | assumed-shape array as argument to dummy arrays. | |
2132 | (compare_actual_formal): Update for the changes above. | |
2133 | ||
1c343287 | 2134 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
2135 | ||
2136 | PR fortran/34763 | |
2137 | * decl.c (contained_procedure): Only check directly preceeding state. | |
2138 | ||
19efd701 | 2139 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
2140 | ||
2141 | PR fortran/34759 | |
2142 | * check.c (gfc_check_shape): Accept array ranges of | |
2143 | assumed-size arrays. | |
2144 | ||
268a9d68 | 2145 | 2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2146 | ||
4ba276ac | 2147 | PR fortran/34432 |
268a9d68 | 2148 | * match.c (gfc_match_name): Don't error if leading character is a '(', |
2149 | just return MATCH_NO. | |
2150 | ||
094e2912 | 2151 | 2008-01-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2152 | ||
2153 | PR fortran/34722 | |
2154 | * trans-io.c (create_dummy_iostat): Commit the symbol. | |
2155 | ||
0a0a6750 | 2156 | 2008-01-11 Paul Thomas <pault@gcc.gnu.org> |
2157 | ||
2158 | PR fortran/34537 | |
2159 | * simplify.c (gfc_simplify_transfer): Return NULL if the size | |
2160 | of the element is unavailable and only assign character length | |
2161 | to the result, if 'mold' is constant. | |
2162 | ||
88137677 | 2163 | 2008-01-10 Paul Thomas <pault@gcc.gnu.org> |
2164 | ||
2165 | PR fortran/34396 | |
2166 | * trans-array.c (gfc_trans_array_ctor_element): Use gfc_trans_string_copy | |
2167 | to assign strings and perform bounds checks on the string length. | |
2168 | (get_array_ctor_strlen): Remove bounds checking. | |
2169 | (gfc_trans_array_constructor): Initialize string length checking. | |
2170 | * trans-array.h : Add prototype for gfc_trans_string_copy. | |
2171 | ||
0b1c894b | 2172 | 2008-01-08 Richard Guenther <rguenther@suse.de> |
2173 | ||
2174 | PR fortran/34706 | |
2175 | PR tree-optimization/34683 | |
2176 | * trans-types.c (gfc_get_array_type_bounds): Use an array type | |
2177 | with known size for accesses if that is known. | |
2178 | ||
43b3b93d | 2179 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
2180 | ||
2181 | PR fortran/34476 | |
2182 | * expr.c (find_array_element): Check that the array bounds are | |
2183 | constant before using them. Use lower, as well as upper bound. | |
2184 | (check_restricted): Allow implied index variable. | |
2185 | ||
1172203c | 2186 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
2187 | ||
2188 | PR fortran/34681 | |
2189 | * trans_array.c (gfc_trans_deferred_array): Do not null the | |
2190 | data pointer on entering scope, nor deallocate it on leaving | |
2191 | scope, if the symbol has the 'save' attribute. | |
2192 | ||
2193 | PR fortran/34704 | |
2194 | * trans_decl.c (gfc_finish_var_decl): Derived types with | |
2195 | allocatable components and an initializer must be TREE_STATIC. | |
2196 | ||
f763d89a | 2197 | 2008-01-07 Paul Thomas <pault@gcc.gnu.org> |
2198 | ||
2199 | PR fortran/34672 | |
2200 | * module.c (write_generic): Rewrite completely. | |
2201 | (write_module): Change call to write_generic. | |
2202 | ||
836f52f7 | 2203 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2204 | ||
2205 | PR fortran/34659 | |
2206 | * scanner.c (load_line): Do not count ' ' as printable when checking for | |
2207 | continuations. | |
2208 | ||
7215ebb3 | 2209 | 2008-01-06 Paul Thomas <pault@gcc.gnu.org> |
02c8c8d3 | 2210 | |
7215ebb3 | 2211 | PR fortran/34545 |
2212 | * module.c (load_needed): If the namespace has no proc_name | |
2213 | give it the module symbol. | |
02c8c8d3 | 2214 | |
52c2abc3 | 2215 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2216 | ||
2217 | PR fortran/34387 | |
2218 | * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert | |
2219 | the dummy variable expression, test for NULL, and pass the variable | |
2220 | address to the called function. | |
2221 | ||
1f2d591b | 2222 | 2007-01-06 Tobias Burnus <burnus@net-b.de> |
2223 | ||
2224 | PR fortran/34658 | |
2225 | * match.c (gfc_match_common): Remove blank common in | |
2226 | DATA BLOCK warning. | |
2227 | * resolve.c (resolve_common_vars): New function. | |
2228 | (resolve_common_blocks): Move checks to resolve_common_vars | |
2229 | and invoke that function. | |
2230 | (resolve_types): Call resolve_common_vars for blank commons. | |
2231 | ||
b4bcbcd7 | 2232 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
2233 | ||
2234 | PR fortran/34655 | |
2235 | * resolve.c (resolve_equivalence_derived): Reject derived types with | |
2236 | default initialization if equivalenced with COMMON variable. | |
2237 | ||
2a7aa2f9 | 2238 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
2239 | ||
2240 | PR fortran/34654 | |
2241 | * io.c (check_io_constraints): Disallow unformatted I/O for | |
2242 | internal units. | |
2243 | ||
1d0109d5 | 2244 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
2245 | ||
2246 | PR fortran/34660 | |
2247 | * resolve.c (resolve_formal_arglist): Reject dummy procedure in | |
2248 | ELEMENTAL functions. | |
2249 | ||
6da3802f | 2250 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
2251 | ||
2252 | PR fortran/34662 | |
2253 | * interface.c (compare_actual_formal): Reject parameter | |
2254 | actual to intent(out) dummy. | |
2255 | ||
d0f16f3c | 2256 | 2008-01-04 Tobias Burnus <burnus@net-b.de> |
2257 | ||
2258 | PR fortran/34557 | |
2259 | * primary.c (match_varspec): Gobble whitespace before | |
2260 | checking for '('. |