]>
Commit | Line | Data |
---|---|---|
19a468b8 | 1 | 2016-01-01 Paul Thomas <pault@gcc.gnu.org> |
2 | ||
3 | PR fortran/68864 | |
4 | * trans-array.c (evaluate_bound): If deferred, test that 'desc' | |
5 | is an array descriptor before using gfc_conv_descriptor_xxx. | |
6 | ||
4136c181 | 7 | 2015-12-29 Andre Vehreschild <vehre@gcc.gnu.org> |
8 | ||
9 | PR fortran/69011 | |
10 | * trans-stmt.c (gfc_trans_allocate): Unwrap a NOP_EXPR to make sure | |
11 | the actual type of the source=-expr is used when it is of class type. | |
12 | Furthermore prevent an ICE. | |
13 | ||
3d2337cf | 14 | 2015-12-18 Paul Thomas <pault@gcc.gnu.org> |
15 | ||
16 | PR fortran/68196 | |
17 | *expr.c (gfc_has_default_initializer): Prevent infinite recursion | |
18 | through this function for procedure pointer components. | |
19 | * trans-array.c (structure_alloc_comps): Ditto twice. | |
20 | ||
6c6058a8 | 21 | 2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
22 | ||
23 | * resolve.c (resolve_critical): Committing symbols of | |
24 | lock variables. | |
25 | ||
78d9d5fc | 26 | 2014-12-14 Tobias Burnus <burnus@net-b.de> |
27 | ||
28 | PR fortran/68850 | |
29 | * gfortran.texi (Standards): Mention TS 18508. | |
30 | (Fortran 2003 and 2008 Status): Add section on TS 18508 status. | |
31 | * intrinsic.texi (EVENT_QUERY): Add. | |
32 | ||
38bb9313 | 33 | 2014-12-12 Tobias Burnus <burnus@net-b.de> |
34 | ||
35 | PR fortran/45859 | |
36 | * expr.c (gfc_is_simply_contiguous): Optionally permit array elements. | |
37 | (gfc_check_pointer_assign): Update call. | |
38 | * interface.c (compare_parameter): Ditto. | |
39 | * trans-array.c (gfc_conv_array_parameter): Ditto. | |
40 | * trans-intrinsic.c (gfc_conv_intrinsic_transfer, | |
41 | conv_isocbinding_function): Ditto. | |
42 | * gfortran.h (gfc_is_simply_contiguous): Update prototype. | |
43 | ||
d9102cbe | 44 | 2014-12-12 Tobias Burnus <burnus@net-b.de> |
45 | ||
46 | PR fortran/68815 | |
47 | * check.c (gfc_check_reshape): Replace %<%d%> by %qd. | |
48 | * matchexp.c (gfc_match_defined_op_name): Use %qc. | |
49 | * symbol.c (gfc_add_new_implicit_range, | |
50 | gfc_merge_new_implicit): Ditto. | |
51 | ||
24b1b3eb | 52 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> |
53 | ||
54 | * io.c (gfc_match_open): Fix indentation. | |
55 | ||
5118f067 | 56 | 2015-12-09 Tobias Burnus <burnus@net-b.de> |
57 | Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> | |
58 | ||
59 | * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status): | |
60 | Introducing __asm__ __volatile__ ("":::"memory") | |
61 | after image control statements. | |
62 | * trans-stmt.c (gfc_trans_sync, gfc_trans_event_post_wait, | |
63 | gfc_trans_lock_unlock, gfc_trans_critical): Ditto. | |
64 | * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, | |
65 | conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory") | |
66 | after send, before get and around sendget. | |
67 | ||
2f7de6c1 | 68 | 2015-12-09 Tobias Burnus <burnus@net-b.de> |
69 | ||
70 | PR fortran/68815 | |
71 | * decl.c (gfc_verify_c_interop_param, variable_decl): Use | |
72 | %< ... %> for quoting in diagnostics. | |
73 | * io.c (check_format): Ditto. | |
74 | * resolve.c (resolve_operator): Ditto. | |
75 | * symbol.c (check_conflict): Ditto. | |
76 | * trans-common.c (translate_common): Ditto. | |
77 | ||
d0f713f4 | 78 | 2015-12-07 David Malcolm <dmalcolm@redhat.com> |
79 | ||
80 | * error.c (gfc_format_decoder): Update for change of | |
81 | text_info::set_range to text_info::set_location. | |
82 | ||
cc78610f | 83 | 2015-12-05 Paul Thomas <pault@gcc.gnu.org> |
84 | ||
85 | PR fortran/68676 | |
86 | * decl.c (gfc_match_formal_arglist): Correct error, where 'sym' | |
87 | was used instead of 'progname'. | |
88 | ||
bd47f0bc | 89 | 2015-12-02 Tobias Burnus <burnus@net-b.de> |
90 | Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> | |
91 | ||
92 | * check.c (gfc_check_event_query): New function. | |
93 | * dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST, | |
94 | EXEC_EVENT_WAIT. | |
95 | * expr.c (gfc_check_vardef_context): New check for event variables | |
96 | definition. | |
97 | * gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. | |
98 | (gfc_isym_id): GFC_ISYM_EVENT_QUERY. | |
99 | (struct symbol_attribute): New field. | |
100 | (gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT. | |
101 | * gfortran.texi: Document about new events functions and minor | |
102 | changes. | |
103 | * interface.c (compare_parameter): New check. | |
104 | (gfc_procedure_use): New check for explicit procedure interface. | |
105 | (add_subroutines): Add event_query. | |
106 | * intrinsic.h (gfc_check_event_query,gfc_resolve_event_query): | |
107 | New prototypes. | |
108 | * iresolve.c (gfc_resolve_event_query): New function. | |
109 | * iso-fortran-env.def (event_type): New type. | |
110 | * match.c (event_statement,gfc_match_event_post,gfc_match_event_wait): | |
111 | New functions. | |
112 | (gfc_match_name): New event post and event wait. | |
113 | * match.h (gfc_match_event_post,gfc_match_event_wait): | |
114 | New prototypes. | |
115 | * module.c (ab_attribute): Add AB_EVENT_COMP. | |
116 | (attr_bits): Likewise. | |
117 | (mio_symbol_attribute): Handle event_comp attribute. | |
118 | * parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. | |
119 | (next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. | |
120 | (gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. | |
121 | (parse_derived): Check for event_type components. | |
122 | * resolve.c (resolve_allocate_expr): Check for event variable def. | |
123 | (resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It | |
124 | includes logic for locks and events. | |
125 | (gfc_resolve_code): Call it. | |
126 | (gfc_resolve_symbol): New check for event variable to be a corray. | |
127 | * st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and | |
128 | EXEC_EVENT_WAIT. | |
129 | * trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, | |
130 | gfor_fndecl_caf_event_query): New global variables. | |
131 | (generate_coarray_sym_init): Checking for event_type. | |
132 | (gfc_conv_procedure_call): Check for C bind attribute. | |
133 | * trans-intrinsic.c (conv_intrinsic_event_query): New function. | |
134 | (conv_intrinsic_move_alloc): Call it. | |
135 | * trans-stmt.c (gfc_trans_lock_unlock): Passing address | |
136 | of actual argument. | |
137 | (gfc_trans_sync): Likewise. | |
138 | (gfc_trans_event_post_wait): New function. | |
139 | * trans-stmt.h (gfc_trans_event_post_wait): New prototype. | |
140 | * trans-types.c (gfc_get_derived_type): Integer_kind as event_type. | |
141 | * trans.c (gfc_allocate_using_lib): New argument and logic for events. | |
142 | (gfc_allocate_allocatable): Passing new argument. | |
143 | (trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT. | |
144 | * trans.h (gfc_coarray_type): New elements. | |
145 | (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, | |
146 | gfor_fndecl_caf_event_query): Declare them. | |
147 | ||
33ae5dfe | 148 | 2015-12-02 Cesar Philippidis <cesar@codesourcery.com> |
149 | ||
150 | PR fortran/63861 | |
151 | * openmp.c (gfc_match_omp_clauses): Allow subarrays for acc reductions. | |
152 | (resolve_omp_clauses): Error on any acc reductions on arrays. | |
153 | ||
93ecb2f2 | 154 | 2015-12-01 Cesar Philippidis <cesar@codesourcery.com> |
155 | ||
156 | * dump-parse-tree.c (show_omp_clauses): Handle optional num and static | |
157 | arguments for the gang clause. | |
158 | * gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr. | |
159 | Add gang_static_expr. | |
160 | * openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and | |
161 | gang_static_expr. | |
162 | (match_oacc_clause_gang): Update to support both num and static in | |
163 | the same clause. | |
164 | (resolve_omp_clauses): Formatting. Also handle gang_num_expr and | |
165 | gang_static_expr. | |
166 | (resolve_oacc_params_in_parallel): New const char arg argument. | |
167 | Use it to report more accurate gang, worker and vector clause errors. | |
168 | (resolve_oacc_loop_blocks): Update calls to | |
169 | resolve_oacc_params_in_parallel. | |
170 | * trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of | |
171 | the gang clause. | |
172 | (gfc_trans_oacc_combined_directive): Make use of gang_num_expr and | |
173 | gang_static_expr. Remove OMP_LIST_REDUCTION from construct_clauses. | |
174 | ||
7c1a9598 | 175 | 2015-11-30 Cesar Philippidis <cesar@codesourcery.com> |
176 | James Norris <jnorris@codesourcery.com> | |
177 | Nathan Sidwell <nathan@codesourcery.com> | |
178 | ||
179 | * f95-lang.c (gfc_attribute_table): Add an "oacc function" | |
180 | attribute. | |
181 | * gfortran.h (symbol_attribute): Add an oacc_function bit-field. | |
182 | (gfc_oacc_routine_name): New struct; | |
183 | (gfc_get_oacc_routine_name): New macro. | |
184 | (gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and | |
185 | oacc_routine fields. | |
186 | (gfc_exec_op): Add EXEC_OACC_ROUTINE. | |
187 | * openmp.c (OACC_ROUTINE_CLAUSES): New mask. | |
188 | (gfc_oacc_routine_dims): New function. | |
189 | (gfc_match_oacc_routine): Add support for named routines and the | |
190 | gang, worker vector and seq clauses. | |
191 | * parse.c (is_oacc): Add EXEC_OACC_ROUTINE. | |
192 | * resolve.c (gfc_resolve_blocks): Likewise. | |
193 | * st.c (gfc_free_statement): Likewise. | |
194 | * trans-decl.c (add_attributes_to_decl): Attach an 'oacc function' | |
195 | attribute and shape geometry for acc routine. | |
196 | ||
a23f57e2 | 197 | 2015-11-30 Paul Thomas <pault@gcc.gnu.org> |
198 | ||
199 | PR fortran/68534 | |
200 | * decl.c (gfc_match_formal_arglist): Cope with zero formal args | |
201 | either in interface declaration or in procedure declaration in | |
202 | submodule. | |
203 | ||
c112228a | 204 | 2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org> |
205 | ||
206 | PR fortran/68227 | |
207 | * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into | |
208 | into part of conditional statement. | |
209 | ||
54485efc | 210 | 2015-11-25 Ilmir Usmanov <me@ilmir.us> |
211 | Cesar Philippidis <cesar@codesourcery.com> | |
212 | ||
213 | PR fortran/63858 | |
214 | * scanner.c (skip_oacc_attribute): Remove continue_flag parameter. | |
215 | Rename as ... | |
216 | (skip_free_oacc_sentinel): ... this. | |
217 | (skip_omp_attribute): Remove continue_flag parameter. Rename as ... | |
218 | (skip_free_omp_sentinel): ... this. | |
219 | (skip_free_comments): Update to call skip_free_oacc_sentinel and | |
220 | skip_free_omp_sentinel. | |
221 | (skip_fixed_omp_sentinel): New function. | |
222 | (skip_fixed_oacc_sentinel): New function. | |
223 | (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in | |
224 | continuation. | |
225 | ||
15bb708a | 226 | 2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org> |
227 | ||
228 | PR fortran/68486 | |
229 | * simplify.c (gfc_simplify_cshift): Allow all EXPR_*. | |
230 | ||
415293cc | 231 | 2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org> |
232 | ||
233 | PR fortran/68486 | |
234 | * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix. | |
235 | ||
e18d05ea | 236 | 2015-11-22 James Norris <jnorris@codesourcery.com> |
237 | Steven G. Kargl <kargl@gcc.gnu.org> | |
238 | ||
239 | * openmp.c (match_oacc_clause_gang): Fix uninitialized variable. | |
240 | (gfc_resolve_oacc_declare): Fix comparision. | |
241 | ||
01d728a4 | 242 | 2015-11-22 James Norris <jnorris@codesourcery.com> |
243 | Cesar Philippidis <cesar@codesourcery.com> | |
244 | ||
245 | * dump-parse-tree.c (show_namespace): Handle declares. | |
246 | * gfortran.h (struct symbol_attribute): New fields. | |
247 | (enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK. | |
248 | (OMP_LIST_LINK): New enum. | |
249 | (struct gfc_oacc_declare): New structure. | |
250 | (gfc_get_oacc_declare): New definition. | |
251 | (struct gfc_namespace): Change type. | |
252 | (enum gfc_exec_op): Add EXEC_OACC_DECLARE. | |
253 | (struct gfc_code): New field. | |
254 | * module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE, | |
255 | AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR, | |
256 | AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK | |
257 | (attr_bits): Add new initializers. | |
258 | (mio_symbol_attribute): Handle new atributes. | |
259 | * openmp.c (gfc_free_oacc_declare_clauses): New function. | |
260 | (gfc_match_oacc_clause_link: Likewise. | |
261 | (OMP_CLAUSE_LINK): New definition. | |
262 | (gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK. | |
263 | (OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK | |
264 | (gfc_match_oacc_declare): Add checking and module handling. | |
265 | (resolve_omp_clauses): Add array initializer. | |
266 | (gfc_resolve_oacc_declare): Reimplement. | |
267 | * parse.c (case_decl): Add ST_OACC_DECLARE. | |
268 | (parse_spec): Remove handling. | |
269 | (parse_progunit): Remove handling. | |
270 | * parse.h (struct gfc_state_data): Change type. | |
271 | * resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE. | |
272 | * st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE. | |
273 | * symbol.c (check_conflict): Add conflict checks. | |
a23f57e2 | 274 | (gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin, |
01d728a4 | 275 | gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident): |
276 | New functions. | |
277 | (gfc_copy_attr): Handle new symbols. | |
278 | * trans-decl.c (add_clause, find_module_oacc_declare_clauses, | |
279 | finish_oacc_declare): New functions. | |
280 | (gfc_generate_function_code): Replace with call. | |
281 | * trans-openmp.c (gfc_trans_oacc_declare): Reimplement. | |
282 | (gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE. | |
283 | * trans-stmt.c (gfc_trans_block_construct): Replace with call. | |
284 | * trans-stmt.h (gfc_trans_oacc_declare): Remove argument. | |
285 | * trans.c (trans_code): Handle EXEC_OACC_DECLARE. | |
286 | ||
253279a4 | 287 | 2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org> |
288 | ||
289 | * simplify.c (gfc_simplify_cshift): Work around bootstrap issues | |
a23f57e2 | 290 | due to inappropriate warning options. |
253279a4 | 291 | |
ac0e38fe | 292 | 2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org> |
293 | ||
294 | * simplify.c (gfc_simplify_cshift): Implement simplification of | |
295 | CSHIFT for rank=1 arrays. | |
296 | (gfc_simplify_spread): Remove a FIXME and add error condition. | |
297 | * intrinsic.h: Prototype for gfc_simplify_cshift | |
298 | * intrinsic.c (add_functions): Use gfc_simplify_cshift. | |
a23f57e2 | 299 | |
f68e3b29 | 300 | 2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org> |
fe9d2f5a | 301 | |
302 | PR fortran/68237 | |
303 | * decl.c (gfc_match_submod_proc): Test the interface symbol | |
304 | before accessing its attributes. | |
305 | ||
f68e3b29 | 306 | 2015-11-20 Paul Thomas <pault@gcc.gnu.org> |
fe9d2f5a | 307 | |
308 | PR fortran/66762 | |
309 | (gfc_get_symbol_decl): Test for attr.used_in_submodule as well | |
310 | as attr.use_assoc (twice). | |
311 | (gfc_create_module_variable): Ditto. | |
312 | ||
864efe70 | 313 | 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> |
314 | ||
315 | PR fortran/59910 | |
316 | * primary.c (gfc_match_structure_constructor): Reduce a structure | |
317 | constructor in a DATA statement. | |
318 | ||
5008247b | 319 | 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> |
320 | ||
321 | PR fortran/43996 | |
fe9d2f5a | 322 | * simplify.c (gfc_simplify_spread): Issue error for too large array |
5008247b | 323 | constructor in a PARAMETER statement. |
324 | ||
77511595 | 325 | 2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org> |
326 | ||
327 | * primary.c (gfc_match_structure_constructor): Fix whitespace. | |
328 | ||
30588018 | 329 | 2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr> |
330 | ||
331 | PR fortran/65751 | |
332 | * expr.c (gfc_check_pointer_assign): Fix error message. | |
333 | ||
de545baf | 334 | 2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org> |
335 | ||
336 | PR fortran/58027 | |
337 | PR fortran/60993 | |
338 | * expr.c (gfc_check_init_expr): Prevent a redundant check when a | |
339 | __convert_* function was inserted into an array constructor. | |
340 | (gfc_check_assign_symbol): Check for an initialization expression | |
341 | when a __convert_* was inserted. | |
342 | ||
ee91fa6b | 343 | 2015-11-15 Paul Thomas <pault@gcc.gnu.org> |
344 | ||
345 | PR fortran/50221 | |
346 | PR fortran/68216 | |
347 | PR fortran/63932 | |
348 | PR fortran/66408 | |
349 | * trans_array.c (gfc_conv_scalarized_array_ref): Pass the | |
350 | symbol decl for deferred character length array references. | |
351 | * trans-stmt.c (gfc_trans_allocate): Keep the string lengths | |
352 | to update deferred length character string lengths. | |
353 | * trans-types.c (gfc_get_dtype_rank_type); Use the string | |
354 | length of deferred character types for the dtype size. | |
355 | * trans.c (gfc_build_array_ref): For references to deferred | |
356 | character arrays, use the domain max value, if it is a variable | |
357 | to set the 'span' and use pointer arithmetic for acces to the | |
358 | element. | |
359 | (trans_code): Set gfc_current_locus for diagnostic purposes. | |
360 | ||
361 | PR fortran/67674 | |
362 | * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred | |
363 | string lengths of components. | |
364 | ||
365 | PR fortran/49954 | |
366 | * resolve.c (deferred_op_assign): New function. | |
367 | (gfc_resolve_code): Call it. | |
368 | * trans-array.c (concat_str_length): New function. | |
369 | (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/ | |
370 | realloc blocks for deferred character length arrays because the | |
371 | string length might change, even if the shape is the same. Call | |
372 | concat_str_length to obtain the string length for concatenation | |
373 | since it is needed to compute the lhs string length. | |
374 | Set the descriptor dtype appropriately for the new string | |
375 | length. | |
376 | * trans-expr.c (gfc_trans_assignment_1): Use the rse string | |
377 | length for all characters, other than deferred types. For | |
378 | concatenation operators, push the rse.pre block to the inner | |
379 | most loop so that the temporary pointer and the assignments | |
380 | are properly placed. | |
381 | ||
b34eb330 | 382 | 2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> |
383 | ||
384 | PR fortran/67803 | |
385 | * array.c (gfc_match_array_constructor): If array constructor included | |
386 | a CHARACTER typespec, check array elements for compatible type. | |
387 | ||
c286c294 | 388 | 2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org> |
389 | ||
390 | PR fortran/68319 | |
391 | * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206. | |
392 | * io.c (gfc_match_format): Ditto. | |
393 | * match.c (gfc_match_st_function): Ditto. | |
394 | ||
a96cefb2 | 395 | 2015-11-13 David Malcolm <dmalcolm@redhat.com> |
396 | ||
397 | * error.c (gfc_warning): Pass line_table to rich_location ctor. | |
398 | (gfc_warning_now_at): Likewise. | |
399 | (gfc_warning_now): Likewise. | |
400 | (gfc_error_now): Likewise. | |
401 | (gfc_fatal_error): Likewise. | |
402 | (gfc_error): Likewise. | |
403 | (gfc_internal_error): Likewise. | |
404 | ||
c77c84dd | 405 | 2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org> |
406 | ||
407 | PR fortran/68318 | |
408 | * decl.c (get_proc_name): Increment reference count for ENTRY. | |
409 | While here, fix comment and use postfix ++ for consistency. | |
410 | ||
6e803544 | 411 | 2015-11-11 Andrew MacLeod <amacleod@redhat.com> |
412 | ||
413 | * array.c: Remove unused header files. | |
414 | * convert.c: Likewise. | |
415 | * cpp.c: Likewise. | |
416 | * decl.c: Likewise. | |
417 | * f95-lang.c: Likewise. | |
418 | * frontend-passes.c: Likewise. | |
419 | * iresolve.c: Likewise. | |
420 | * match.c: Likewise. | |
421 | * module.c: Likewise. | |
422 | * options.c: Likewise. | |
423 | * parse.c: Likewise. | |
424 | * target-memory.c: Likewise. | |
425 | * trans-array.c: Likewise. | |
426 | * trans-common.c: Likewise. | |
427 | * trans-const.c: Likewise. | |
428 | * trans-decl.c: Likewise. | |
429 | * trans-expr.c: Likewise. | |
430 | * trans-intrinsic.c: Likewise. | |
431 | * trans-io.c: Likewise. | |
432 | * trans-openmp.c: Likewise. | |
433 | * trans-stmt.c: Likewise. | |
434 | * trans-types.c: Likewise. | |
435 | * trans.c: Likewise. | |
436 | ||
7161f884 | 437 | 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> |
438 | ||
439 | PR fortran/67826 | |
440 | * openmp.c (gfc_omp_udr_find): Fix typo. | |
441 | ||
0c0c5469 | 442 | 2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org> |
443 | ||
444 | PR fortran/68053 | |
445 | * decl.c (add_init_expr_to_sym): Try to reduce initialization expression | |
446 | before testing for a constant value. | |
447 | ||
68c5a370 | 448 | 2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org> |
449 | ||
450 | PR fortran/68218 | |
451 | * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when | |
452 | array spec in allocate is a function call. | |
453 | ||
b64400b6 | 454 | 2015-11-08 Steven G. Kargl <kargl@gc.gnu.org> |
455 | ||
456 | PR fortran/68224 | |
457 | * array.c (match_array_element_spec): Check of invalid NULL(). | |
458 | While here, fix nearby comments. | |
459 | ||
2bd8d01a | 460 | 2015-11-08 Paul Thomas <pault@gcc.gnu.org> |
461 | ||
462 | PR fortran/68196 | |
463 | * class.c (has_finalizer_component): Prevent infinite recursion | |
464 | through this function if the derived type and that of its | |
465 | component are the same. | |
466 | * trans-types.c (gfc_get_derived_type): Do the same for proc | |
467 | pointers by ignoring the explicit interface for the component. | |
468 | ||
469 | PR fortran/66465 | |
470 | * check.c (same_type_check): If either of the expressions is | |
471 | BT_PROCEDURE, use the typespec from the symbol, rather than the | |
472 | expression. | |
473 | ||
b093120a | 474 | 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org> |
475 | ||
476 | PR fortran/68153 | |
477 | * check.c (gfc_check_reshape): Improve check for valid SHAPE argument. | |
478 | ||
e2198b85 | 479 | 2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org> |
480 | ||
481 | PR fortran/68151 | |
482 | * match.c (match_case_selector): Check for invalid type. | |
483 | ||
f0479000 | 484 | 2015-11-06 David Malcolm <dmalcolm@redhat.com> |
485 | ||
486 | * cpp.c (cb_cpp_error): Convert parameter from location_t to | |
487 | rich_location *. Eliminate the "column_override" parameter. | |
488 | * error.c (gfc_warning): Update for change in signature of | |
489 | diagnostic_set_info. | |
490 | (gfc_format_decoder): Update handling of %C/%L for changes | |
491 | to struct text_info. | |
492 | (gfc_diagnostic_starter): Use richloc when determining whether to | |
493 | print one locus or two. When handling a location that will | |
494 | involve a call to diagnostic_show_locus, only attempt to print the | |
495 | locus for the primary location, and don't call into | |
496 | diagnostic_print_caret_line. | |
497 | (gfc_warning_now_at): Update for change in signature of | |
498 | diagnostic_set_info. | |
499 | (gfc_warning_now): Likewise. | |
500 | (gfc_error_now): Likewise. | |
501 | (gfc_fatal_error): Likewise. | |
502 | (gfc_error): Likewise. | |
503 | (gfc_internal_error): Likewise. | |
504 | ||
ef014f95 | 505 | 2015-11-05 Cesar Philippidis <cesar@codesourcery.com> |
506 | ||
507 | * openmp.c (gfc_match_omp_clauses): Update support for the tile | |
508 | and default clauses in OpenACC. | |
509 | (gfc_match_oacc_update): Error when data clauses are supplied. | |
510 | (oacc_compatible_clauses): Delete. | |
511 | (resolve_omp_clauses): Give special care for OpenACC reductions. | |
512 | Also update error reporting for the tile clause. | |
513 | (resolve_oacc_loop_blocks): Update error reporting for the tile clause. | |
514 | * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add | |
515 | OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument. | |
516 | (gfc_trans_oacc_combined_directive): Update the list of clauses which | |
517 | are split to acc loops. | |
518 | ||
9561765e | 519 | 2015-11-05 Jakub Jelinek <jakub@redhat.com> |
520 | ||
521 | * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove. | |
522 | (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New. | |
523 | ||
9e10bfb7 | 524 | 2015-11-03 Thomas Schwinge <thomas@codesourcery.com> |
525 | Chung-Lin Tang <cltang@codesourcery.com> | |
526 | ||
527 | * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC, | |
528 | ST_OACC_END_ATOMIC. | |
529 | (gfc_exec_op): Add EXEC_OACC_ATOMIC. | |
530 | * match.h (gfc_match_oacc_atomic): New prototype. | |
531 | * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New | |
532 | wrapper functions around... | |
533 | (gfc_match_omp_oacc_atomic): ... this new function. | |
534 | (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle | |
535 | EXEC_OACC_ATOMIC. | |
536 | * parse.c (decode_oacc_directive): Handle "atomic", "end atomic". | |
537 | (case_exec_markers): Add ST_OACC_ATOMIC. | |
538 | (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC. | |
539 | (parse_omp_atomic): Rename to... | |
540 | (parse_omp_oacc_atomic): ... this new function. Add omp_p formal | |
541 | parameter. Adjust all users. | |
542 | (parse_executable): Handle ST_OACC_ATOMIC. | |
543 | (is_oacc): Handle EXEC_OACC_ATOMIC. | |
544 | * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle | |
545 | EXEC_OACC_ATOMIC. | |
546 | * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC. | |
547 | * trans-openmp.c (gfc_trans_oacc_directive): Handle | |
548 | EXEC_OACC_ATOMIC. | |
549 | * trans.c (trans_code): Handle EXEC_OACC_ATOMIC. | |
550 | ||
5dfd4cda | 551 | 2015-10-31 Cesar Philippidis <cesar@codesourcery.com> |
552 | ||
553 | PR Bootstrap/68168 | |
554 | ||
555 | * openmp.c (resolve_omp_clauses): Pass &n->where when calling | |
556 | gfc_error. | |
557 | ||
12c17674 | 558 | 2015-10-30 Cesar Philippidis <cesar@codesourcery.com> |
559 | ||
560 | * gfortran.h (gfc_omp_namespace): Add locus where member. | |
561 | * openmp.c (gfc_match_omp_variable_list): Set where for each list | |
562 | item found. | |
563 | (resolve_omp_clauses): Remove where argument and use the where | |
564 | gfc_omp_namespace member when reporting errors. | |
565 | (resolve_omp_do): Update call to resolve_omp_clauses. | |
566 | (resolve_oacc_loop): Likewise. | |
567 | (gfc_resolve_oacc_directive): Likewise. | |
568 | (gfc_resolve_omp_directive): Likewise. | |
569 | (gfc_resolve_omp_declare_simd): Likewise. | |
570 | ||
00fff882 | 571 | 2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org> |
572 | ||
573 | PR fortran/51993 | |
574 | * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an | |
575 | if-statement causing an early return leads to valid error message. | |
576 | ||
e06323c9 | 577 | 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> |
578 | ||
579 | PR fortran/36192 | |
580 | * interface.c (get_expr_storage_size): Check for INTEGER type before | |
581 | calling gmp routines. | |
582 | ||
9123b22a | 583 | 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> |
584 | ||
585 | PR fortran/68154 | |
586 | * decl.c (add_init_expr_to_sym): if the char length in the typespec | |
2bd8d01a | 587 | is NULL, check for and use a constructor. |
e06323c9 | 588 | |
9123b22a | 589 | 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> |
8371b2e9 | 590 | |
591 | PR fortran/68054 | |
592 | * decl.c (match_attr_spec): PROTECTED can only be a module. | |
593 | ||
758c9897 | 594 | 2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org> |
595 | ||
596 | PR fortran/67885 | |
597 | * trans-decl.c (generate_local_decl): Mark PARAMETER entities in | |
598 | BLOCK construct. | |
599 | ||
4cba6f60 | 600 | 2015-10-29 Andrew MacLeod <amacleod@redhat.com> |
601 | ||
602 | * array.c: Reorder #include's and remove duplicates. | |
603 | * convert.c: Likewise. | |
604 | * cpp.c: Likewise. | |
605 | * decl.c: Likewise. | |
606 | * f95-lang.c: Likewise. | |
607 | * frontend-passes.c: Likewise. | |
608 | * iresolve.c: Likewise. | |
609 | * match.c: Likewise. | |
610 | * module.c: Likewise. | |
611 | * options.c: Likewise. | |
612 | * parse.c: Likewise. | |
613 | * resolve.c: Likewise. | |
614 | * simplify.c: Likewise. | |
615 | * target-memory.c: Likewise. | |
616 | * trans-array.c: Likewise. | |
617 | * trans-common.c: Likewise. | |
618 | * trans-const.c: Likewise. | |
619 | * trans-decl.c: Likewise. | |
620 | * trans-expr.c: Likewise. | |
621 | * trans-intrinsic.c: Likewise. | |
622 | * trans-io.c: Likewise. | |
623 | * trans-openmp.c: Likewise. | |
624 | * trans-stmt.c: Likewise. | |
625 | * trans-types.c: Likewise. | |
626 | * trans.c: Likewise. | |
627 | ||
a7a322da | 628 | 2015-10-29 Richard Biener <rguenther@suse.de> |
629 | ||
630 | * f95-lang.c: Properly build variadic types for classification | |
631 | and comparison builtins. | |
632 | ||
09382f4e | 633 | 2015-10-27 Thomas Schwinge <thomas@codesourcery.com> |
634 | James Norris <jnorris@codesourcery.com> | |
635 | ||
636 | PR fortran/63865 | |
637 | * openmp.c (resolve_oacc_cache): Remove function. | |
638 | (gfc_match_oacc_cache): Enable array sections. | |
639 | (resolve_omp_clauses, gfc_resolve_oacc_directive): Change | |
640 | accordingly. | |
641 | * trans-openmp.c (gfc_trans_omp_clauses): Likewise. | |
642 | ||
47977082 | 643 | 2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org> |
644 | ||
645 | PR fortran/68108 | |
646 | * decl.c (char_len_param_value): Check for REF_ARRAY. | |
647 | ||
ef8ded22 | 648 | 2015-10-26 Louis Krupp <louis.krupp@zoho.com> |
649 | ||
650 | PR fortran/66056 | |
651 | * fortran.h: Include namespace pointer in statement label | |
652 | structure. | |
653 | * symbol.c (gfc_get_st_label): Store pointer to namespace | |
654 | that owns the statement label tree in each label. | |
655 | (gfc_free_st_label): Use namespace owning statement label | |
656 | tree when deleting statement label. | |
657 | * io.c: Initialize format_asterisk with NULL namespace pointer. | |
658 | ||
b317b080 | 659 | 2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org> |
660 | ||
661 | PR fortran/36192 | |
662 | * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling | |
663 | mpz_set. | |
664 | ||
71eb79ed | 665 | 2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org> |
666 | ||
667 | PR fortran/66927 | |
668 | * trans-array.c (evaluate_bound): For deferred length arrays get the | |
669 | bounds directly from the descriptor, i.e., prevent using constant | |
670 | zero lower bound from the gfc_conv_array_lbound () routine. | |
671 | (gfc_conv_section_startstride): Hand deferred array status to | |
672 | evaluate_bound (). | |
673 | (gfc_conv_expr_descriptor): Same. | |
674 | ||
9883c975 | 675 | 2015-01-25 Paul Thomas <pault@gcc.gnu.org> |
676 | ||
677 | PR fortran/67171 | |
678 | * trans-array.c (structure_alloc_comps): On deallocation of | |
679 | class components, reset the vptr to the declared type vtable | |
680 | and reset the _len field of unlimited polymorphic components. | |
681 | *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on | |
682 | allocatable component references to the right of part reference | |
683 | with non-zero rank and return NULL. | |
684 | (gfc_reset_vptr): Simplify this function by using the function | |
685 | gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE. | |
686 | (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns | |
687 | NULL return. | |
688 | * trans-stmt.c (gfc_trans_allocate): Rely on the use of | |
689 | gfc_trans_assignment if expr3 is a variable expression since | |
690 | this deals correctly with array sections. | |
691 | ||
9ab3dd73 | 692 | 2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org> |
693 | ||
694 | PR fortran/66927 | |
9883c975 | 695 | PR fortran/67044 |
696 | * trans-array.c (build_array_ref): Modified call to | |
9ab3dd73 | 697 | gfc_get_class_array_ref to adhere to new interface. |
698 | (gfc_conv_expr_descriptor): For one-based arrays that | |
699 | are filled by a loop starting at one the start index of the | |
700 | source array has to be mangled into the offset. | |
701 | * trans-expr.c (gfc_get_class_array_ref): When the tree to get | |
702 | the _data component is present already, add a way to supply it. | |
703 | (gfc_copy_class_to_class): Allow to copy to a derived type also. | |
704 | * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor | |
705 | for functions returning a class or derived object. Get the | |
706 | reference instead. | |
707 | * trans.h: Interface change of gfc_get_class_array_ref. | |
708 | ||
9627a89d | 709 | 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org> |
710 | ||
711 | PR fortran/68055 | |
712 | * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style | |
713 | declarations. | |
714 | ||
9c5a8acc | 715 | 2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org> |
716 | ||
717 | PR fortran/67805 | |
718 | * array.c (gfc_match_array_constructor): Check for error from type | |
719 | spec matching. | |
720 | * decl.c (char_len_param_value): Check for valid of charlen parameter. | |
721 | Reap dead code dating to 2008. | |
722 | match.c (gfc_match_type_spec): Special case the keyword use in REAL. | |
723 | ||
1375e422 | 724 | 2015-10-23 Mikhail Maltsev <maltsevm@gmail.com> |
725 | ||
726 | * trans-common.c (create_common): Adjust to use flag_checking. | |
727 | * trans.c (gfc_add_modify_loc): Use gcc_checking_assert. | |
728 | ||
8204c077 | 729 | 2015-10-21 Martin Sebor <msebor@redhat.com> |
730 | ||
731 | PR driver/68043 | |
732 | * lang.opt: End each sentence that describes an option with a period. | |
733 | ||
c782e805 | 734 | 2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org> |
735 | ||
736 | PR fortran/67939 | |
737 | * data.c (create_character_initializer): Deal with zero length string. | |
738 | ||
e58a0f0d | 739 | 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> |
740 | ||
741 | * resolve.c (gfc_verify_binding_labels): Check for NULL pointer. | |
742 | ||
f2b5fae9 | 743 | 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> |
744 | ||
745 | PR fortran/68019 | |
746 | * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error | |
747 | message to be issued. | |
748 | ||
e8c36e7e | 749 | 2015-10-18 Mikael Morin <mikael@gcc.gnu.org> |
750 | ||
751 | PR fortran/67758 | |
752 | * gfortran.h (gfc_symbol): Expand comment. | |
753 | * match.c (gfc_match_common): Delay adding the symbol to | |
754 | the common_block after the gfc_add_in_common call. | |
755 | * symbol.c (gfc_free_symbol): Move common block memory handling... | |
756 | (gfc_set_symbol_common_block): ... here as a new function. | |
757 | (restore_old_symbol): Restore common block fields. | |
758 | (gfc_restore_last_undo_checkpoint): | |
759 | Check the common_block pointer instead of the in_common attribute. | |
760 | When a symbol has been removed from the common block linked list, | |
761 | clear its common_next pointer. | |
762 | ||
6f29994c | 763 | 2015-10-18 Paul Thomas <pault@gcc.gnu.org> |
764 | ||
765 | PR fortran/67177 | |
766 | PR fortran/67977 | |
767 | * primary.c (match_substring): Add an argument 'deferred' to | |
768 | flag that a substring reference with null start and end should | |
769 | not be optimized away for deferred length strings. | |
770 | (match_string_constant, gfc_match_rvalue): Set the argument. | |
771 | * trans-expr.c (alloc_scalar_allocatable_for_assignment): If | |
772 | there is a substring reference return. | |
773 | * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred | |
774 | characters, assign the 'from' string length to the 'to' string | |
775 | length. If the 'from' expression is deferred, set its string | |
776 | length to zero. If the 'to' expression has allocatable | |
777 | components, deallocate them. | |
778 | ||
34bf7ba5 | 779 | 2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org> |
780 | ||
781 | PR fortran/67987 | |
782 | * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0, | |
6f29994c | 783 | force it to zero per the Fortran 90, 95, 2003, and 2008 Standards. |
34bf7ba5 | 784 | * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line. |
785 | If 'start' is larger than 'end', length of substring is negative, | |
786 | so explicitly set it to zero. | |
787 | (resolve_charlen): Remove -Wsurprising warning. Update comment to | |
788 | reflect that the text is from the F2008 standard. | |
789 | ||
0e49e441 | 790 | 2015-10-16 Richard Biener <rguenther@suse.de> |
791 | ||
792 | * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust | |
793 | calls to build_addr. | |
794 | (gfc_conv_intrinsic_mod): Likewise. | |
795 | (gfc_conv_intrinsic_ctime): Likewise. | |
796 | (gfc_conv_intrinsic_fdate): Likewise. | |
797 | (gfc_conv_intrinsic_ttynam): Likewise. | |
798 | (gfc_conv_intrinsic_minmax_char): Likewise. | |
799 | (gfc_conv_intrinsic_index_scan_verify): Likewise. | |
800 | (gfc_conv_intrinsic_trim): Likewise. | |
801 | ||
79e27a6c | 802 | 2015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com> |
803 | ||
804 | * parse.c (decode_statement): Initialize M to MATCH_NO. | |
805 | ||
43895be5 | 806 | 2015-10-13 Jakub Jelinek <jakub@redhat.com> |
807 | Ilya Verbin <ilya.verbin@intel.com> | |
808 | ||
809 | * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10, | |
810 | DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define. | |
811 | * trans-openmp.c (gfc_trans_omp_clauses): Set | |
812 | OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR | |
813 | to NULL. | |
814 | (gfc_trans_omp_critical): Adjust for addition of clauses. | |
815 | (gfc_trans_omp_ordered): Likewise. | |
816 | * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, | |
817 | BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, | |
818 | BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, | |
819 | BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, | |
820 | BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, | |
821 | BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR, | |
822 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, | |
823 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, | |
824 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, | |
825 | BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New. | |
826 | (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, | |
827 | BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, | |
828 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove. | |
829 | ||
10c26e1e | 830 | 2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org> |
831 | ||
832 | PR fortran/65889 | |
833 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and | |
834 | on stack class objects as sizeof parameter. | |
835 | ||
0ac42026 | 836 | 2015-10-06 Louis Krupp <louis.krupp@zoho.com> |
837 | PR fortran/65766 | |
838 | * resolve.c (gfc_resolve_substring_charlen): For derived type, | |
839 | use typespec of string component when resolving substring length. | |
840 | ||
f6392e58 | 841 | 2015-10-04 Mikael Morin <mikael@gcc.gnu.org> |
842 | ||
843 | * match.c (gfc_match_common): Remove dead variable old_blank_common. | |
844 | ||
d2f74bc8 | 845 | 2015-10-04 Mikael Morin <mikael@gcc.gnu.org> |
846 | ||
847 | PR fortran/67758 | |
848 | * match.c (gfc_match_common): Delay the common_block pointer | |
849 | assignment after error checking. | |
850 | Delay the call to gfc_add_in_common attribute after the handling | |
851 | of array specs. | |
852 | * resolve.c (resolve_common_vars): Call gfc_add_in_common again. | |
853 | ||
eca581b5 | 854 | 2015-10-04 Mikael Morin <mikael@gcc.gnu.org> |
855 | ||
856 | * resolve.c (resolve_common_vars): Move access to the common | |
857 | block's head symbol inside the function. | |
858 | (resolve_common_blocks, resolve_types): Update callers. | |
859 | ||
e94e23b8 | 860 | 2015-10-01 Louis Krupp <louis.krupp@zoho.com> |
861 | ||
862 | PR fortran/62242 | |
863 | PR fortran/52332 | |
864 | * trans-array.c | |
865 | (store_backend_decl): Create new gfc_charlen instance if requested | |
866 | (get_array_ctor_all_strlen): Call store_backend_decl requesting | |
867 | new gfc_charlen | |
868 | (trans_array_constructor): Call store_backend_decl requesting | |
869 | new gfc_charlen if get_array_ctor_strlen was called | |
870 | (gfc_add_loop_ss_code): Don't try to convert non-constant length | |
871 | ||
f8e2139b | 872 | 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> |
873 | ||
874 | PR fortran.67802 | |
875 | * decl.c (add_init_expr_to_sym): Numeric constant for character | |
876 | length must be an INTEGER. | |
877 | ||
c06a57e4 | 878 | 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> |
879 | ||
880 | PR fortran/66979 | |
881 | * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby | |
882 | missing 'return false'. | |
883 | ||
80ae9b8a | 884 | 2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> |
885 | ||
886 | PR fortran/67616 | |
887 | * primary.c (gfc_match_structure_constructor): Use a possibly | |
888 | host-associated symtree to prevent ICE. | |
889 | ||
97323566 | 890 | 2015-09-28 Paul Thomas <pault@gcc.gnu.org> |
891 | ||
892 | PR fortran/40054 | |
893 | PR fortran/63921 | |
894 | * decl.c (get_proc_name): Return if statement function is | |
895 | found. | |
896 | * expr.c (gfc_check_vardef_context): Add error return for | |
897 | derived type expression lacking the derived type itself. | |
898 | * match.c (gfc_match_ptr_fcn_assign): New function. | |
899 | * match.h : Add prototype for gfc_match_ptr_fcn_assign. | |
900 | * parse.c : Add static flag 'in_specification_block'. | |
901 | (decode_statement): If in specification block match a statement | |
902 | function, then, if no error arising from statement function | |
903 | matching, try to match pointer function assignment. | |
904 | (parse_interface): Set 'in_specification_block' on exiting from | |
905 | parse_spec. | |
906 | (parse_spec): Set and then reset 'in_specification_block'. | |
907 | (gfc_parse_file): Set 'in_specification_block'. | |
908 | * resolve.c (get_temp_from_expr): Extend to include functions | |
909 | and array constructors as rvalues.. | |
910 | (resolve_ptr_fcn_assign): New function. | |
911 | (gfc_resolve_code): Call it on finding a pointer function as an | |
912 | lvalue. If valid or on error, go back to start of resolve_code. | |
913 | * symbol.c (gfc_add_procedure): Add a sentence to the error to | |
914 | flag up the ambiguity between a statement function and pointer | |
915 | function assignment at the end of the specification block. | |
916 | ||
e561d5e1 | 917 | 2015-09-28 Nathan Sidwell <nathan@codesourcery.com> |
918 | ||
919 | * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New. | |
920 | (DEF_FUNCTION_TYPE_VAR_11): Delete. | |
921 | * types.def (DEF_FUNCTION_TYPE_VAR_6): New. | |
922 | (DEF_FUNCTION_TYPE_VAR_11): Delete. | |
923 | ||
89bf82d6 | 924 | 2015-09-26 Mikael Morin <mikael@gcc.gnu.org> |
925 | ||
926 | PR fortran/67721 | |
927 | * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness | |
928 | condition guarding deep copy. | |
929 | ||
ffb03431 | 930 | 2013-09-26 Paul Thomas <pault@gcc.gnu.org> |
931 | ||
932 | PR fortran/67567 | |
933 | * resolve.c (resolve_fl_procedure): For module procedures, take | |
934 | the parent module name and the submodule name from the name of | |
935 | the namespace. | |
936 | ||
08a4b795 | 937 | 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> |
938 | ||
939 | PR fortran/67614 | |
940 | * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL. | |
941 | ||
8ec43c08 | 942 | 2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> |
943 | ||
944 | PR fortran/67525 | |
945 | * parse.c (match_deferred_characteristics): Remove an assert, which | |
946 | allows an invalid SELECT TYPE selector to be detected. | |
947 | ||
a6871bda | 948 | 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org> |
949 | ||
950 | PR pretty-print/67567 | |
951 | * resolve.c (resolve_fl_procedure): Work-around when iface->module | |
952 | == NULL. | |
953 | ||
54f3d072 | 954 | 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org> |
955 | ||
956 | * resolve.c (nonscalar_typebound_assign): Fix typos in comment. | |
ffb03431 | 957 | |
465f5e88 | 958 | 2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org> |
959 | ||
960 | PR fortran/67615 | |
ffb03431 | 961 | * resolve.c (gfc_resolve_code): Check for scalar expression in |
465f5e88 | 962 | arithmetic-if. |
963 | ||
32c2c7e7 | 964 | 2015-09-17 Paul Thomas <pault@gcc.gnu.org> |
965 | ||
966 | PR fortran/52846 | |
967 | PR fortran/67588 | |
968 | * module.c : Add static no_module_procedures. | |
969 | (gfc_match_submodule): Correct memory leakage caused during the | |
970 | freeing of use_lists. | |
971 | (mio_symbol_attribute): Reset above if module procedure is | |
972 | encountered. | |
973 | (gfc_dump_module): Set above and exit without writing smod file | |
974 | if it reset. | |
975 | * gfortran.texi : Add section on submodule support. | |
976 | ||
be0fbcfb | 977 | 2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org> |
978 | ||
979 | PR fortran/67526 | |
980 | * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer. | |
981 | ||
8cff2296 | 982 | 2015-09-10 Paul Thomas <pault@gcc.gnu.org> |
983 | ||
984 | PR fortran/66993 | |
985 | * module.c (read_module): If a symtree exists and the symbol has | |
986 | been associated in a submodule from a parent (sub)module, attach | |
987 | the symbol to a 'unique symtree' and the new symbol to the | |
988 | existing symtree. | |
989 | ||
3e6bab83 | 990 | 2015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
991 | ||
992 | * intrinsic.h (gfc_simplify_mvbits): Remove. | |
993 | * simplify.c (gfc_simplify_mvbits): Remove. | |
994 | * intrinsic.c (add_subroutines): Remove reference to | |
995 | gfc_simplify_mvbits. | |
996 | ||
bd956670 | 997 | 2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org> |
998 | ||
999 | PR fortran/67429 | |
1000 | * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise | |
1001 | caret lines might be skipped when actually giving a diagnostic. | |
1002 | ||
130d2faa | 1003 | 2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1004 | ||
1005 | PR fortran/54833 | |
1006 | * trans.c (gfc_call_free): Don't check if pointer is NULL. | |
1007 | * trans.h (gfc_call_free): Adjust comment. | |
1008 | ||
1d5e34dd | 1009 | 2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1010 | ||
1011 | * trans.c (gfc_call_malloc, gfc_allocate_using_malloc, | |
1012 | gfc_allocate_using_lib, gfc_allocate_allocatable, | |
1013 | gfc_call_realloc): Simplify code. | |
1014 | * trans-array.c (gfc_trans_allocate_array_storage, | |
1015 | gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not | |
1016 | convert gfc_call_free() argument. | |
1017 | * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call, | |
1018 | fcncall_realloc_result): Likewise. | |
1019 | * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise. | |
1020 | ||
c338399c | 1021 | 2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1022 | ||
1023 | PR fortran/53668 | |
1024 | * intrinsic.c (add_functions, add_subroutines): Remove resolution | |
1025 | functions for FREE and MALLOC. | |
1026 | * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove. | |
1027 | * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove. | |
1028 | * trans-intrinsic.c (conv_intrinsic_free, | |
1029 | gfc_conv_intrinsic_malloc): New functions. | |
1030 | ||
8097c1a6 | 1031 | 2015-08-24 Louis Krupp <louis.krupp@zoho.com> |
1032 | ||
1033 | PR fortran/62536 | |
1034 | PR fortran/66175 | |
1035 | * decl.c (gfc_match_end): Clean up nested BLOCKs. | |
1036 | * parse.c (parse_block_construct): Deal gracefully with cleaned-up | |
1037 | BLOCKs. | |
1038 | ||
4e7d6e89 | 1039 | 2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1040 | ||
1041 | PR libfortran/54572 | |
1042 | * config-lang.in: Add libbacktrace to target_libs. | |
1043 | ||
6dc50383 | 1044 | 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> |
1045 | ||
1046 | * dependency.c, dependency.h, gfortran.h, io.c, module.c, | |
bd9ed111 | 1047 | parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs. |
6dc50383 | 1048 | |
6de19d80 | 1049 | 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1050 | ||
1051 | PR fortran/54656 | |
1052 | * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl | |
1053 | for quadruple precision BUILT_IN_SQRT. | |
1054 | ||
d351aaf5 | 1055 | 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1056 | ||
1057 | * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type | |
1058 | generic BUILT_IN_SIGNBIT. | |
1059 | (conv_intrinsic_ieee_copy_sign): Likewise. | |
1060 | * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF, | |
1061 | BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS, | |
1062 | BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic | |
1063 | variants of BUILT_IN_SIGNBIT. | |
1064 | * mathbuiltins.def: Remove SIGNBIT. | |
1065 | ||
9be7a73d | 1066 | 2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1067 | ||
1068 | PR fortran/41387 | |
1069 | * gfortran.texi: New section "File operations on symbolic links". | |
1070 | ||
d961899a | 1071 | 2015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1072 | ||
1073 | PR fortran/67059 | |
1074 | * gfortranspec.c (lang_specific_driver): Adjust --version output. | |
1075 | ||
9f24c029 | 1076 | 2015-08-08 Bud Davis <jmdavis@link.com> |
1077 | Mikael Morin <mikael@gcc.gnu.org> | |
1078 | ||
1079 | PR fortran/59746 | |
1080 | * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block | |
1081 | symbol if it was put in the list. | |
1082 | ||
9f1638d5 | 1083 | 2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1084 | ||
1085 | PR fortran/64104 | |
1086 | * expr.c (gfc_check_init_expr): Allow some IEEE functions in | |
1087 | constant expressions. | |
1088 | (external_spec_function): Allow some IEEE functions in specification | |
1089 | expressions. | |
1090 | * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove. | |
1091 | (simplify_ieee_selected_real_kind, simplify_ieee_support, | |
1092 | matches_ieee_function_name, gfc_simplify_ieee_functions): New | |
1093 | functions. | |
1094 | * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove | |
1095 | prototype. | |
1096 | (gfc_simplify_ieee_functions): Add prototype. | |
1097 | ||
0e647125 | 1098 | 2015-08-06 Mikael Morin <mikael@gcc.gnu.org> |
1099 | ||
1100 | * trans.h (gfc_trans_scalar_assign): Remove fourth argument. | |
1101 | * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth | |
1102 | argument. | |
1103 | (gfc_conv_subref_array_arg, gfc_trans_subarray_assign, | |
1104 | gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers. | |
1105 | * trans-array.c (gfc_conv_expr_descriptor): Ditto. | |
1106 | * trans-stmt.c (forall_make_variable_temp, | |
1107 | generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, | |
1108 | gfc_trans_where_assign, gfc_trans_where_3): Ditto. | |
1109 | ||
c8ddfd5d | 1110 | 2015-08-05 Paul Thomas <pault@gcc.gnu.org> |
1111 | ||
1112 | PR fortran/52846 | |
1113 | * module.c (check_access): Return true if new static flag | |
1114 | 'dump_smod' is true.. | |
1115 | (gfc_dump_module): Rename original 'dump_module' and call from | |
1116 | new version. Use 'dump_smod' rather than the stack state to | |
1117 | determine if a submodule is being processed. The new version of | |
1118 | this procedure sets 'dump_smod' depending on the stack state and | |
1119 | then writes both the mod and smod files if a module is being | |
1120 | processed or just the smod for a submodule. | |
1121 | (gfc_use_module): Eliminate the check for module_name and | |
1122 | submodule_name being the same. | |
1123 | * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array, | |
1124 | get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use | |
1125 | the conditions to set DECL_VISIBILITY as hidden and to set as | |
1126 | true DECL_VISIBILITY_SPECIFIED. | |
1127 | ||
c53bd1d9 | 1128 | 2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1129 | ||
1130 | PR fortran/64022 | |
1131 | * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE | |
1132 | support to all real kinds. | |
1133 | ||
ddfc9c60 | 1134 | 2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org> |
1135 | ||
1136 | PR fortran/66942 | |
1137 | * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference | |
1138 | ||
c63a11d6 | 1139 | 2015-08-03 Mikael Morin <mikael@gcc.gnu.org> |
1140 | ||
1141 | PR fortran/64921 | |
1142 | * class.c (generate_finalization_wrapper): Set finalization | |
1143 | procedure symbol's always_explicit attribute. | |
1144 | ||
814b1ca2 | 1145 | 2015-08-01 Paul Thomas <pault@gcc.gnu.org> |
1146 | ||
1147 | PR fortran/67091 | |
1148 | * trans-intrinsic.c (gfc_conv_associated): Add the pre and post | |
1149 | blocks for the second argument to se. | |
1150 | ||
1ed4ddb2 | 1151 | 2015-07-27 Thomas Schwinge <thomas@codesourcery.com> |
1152 | ||
1153 | * parse.c (parse_oacc_structured_block): Fix logic error. | |
1154 | Reported by Mikael Morin <mikael.morin@sfr.fr>. | |
1155 | ||
69dcb06f | 1156 | 2015-07-24 Mikael Morin <mikael@gcc.gnu.org> |
1157 | ||
1158 | PR fortran/64986 | |
1159 | * trans-expr.c (gfc_trans_assignment_1): Put component deallocation | |
1160 | code at the beginning of the block. | |
1161 | ||
c70b8740 | 1162 | 2015-07-22 Mikael Morin <mikael@gcc.gnu.org> |
1163 | ||
1164 | PR fortran/61831 | |
1165 | PR fortran/66929 | |
1166 | * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure | |
1167 | symbol if available. | |
1168 | ||
df8f279f | 1169 | 2015-07-17 Paul Thomas <pault@gcc.gnu.org> |
1170 | ||
1171 | PR fortran/52846 | |
1172 | * decl.c (gfc_match_end): Pick out declared submodule name from | |
1173 | the composite identifier. | |
1174 | * gfortran.h : Add 'submodule_name' to gfc_use_list structure. | |
1175 | * module.c (gfc_match_submodule): Define submodule_name and add | |
1176 | static 'submodule_name'. | |
1177 | (gfc_match_submodule): Build up submodule filenames, using '@' | |
1178 | as a delimiter. Store the output filename in 'submodule_name'. | |
1179 | Similarly, the submodule identifier is built using '.' as an | |
1180 | identifier. | |
1181 | (gfc_dump_module): If current state is COMP_SUBMODULE, write | |
1182 | to file 'submodule_name', using SUBMODULE_EXTENSION. | |
1183 | (gfc_use_module): Similarly, use the 'submodule_name' field in | |
1184 | the gfc_use_list structure and SUBMODULE_EXTENSION to read the | |
1185 | implicitly used submodule files. | |
1186 | ||
af80543e | 1187 | 2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
1188 | ||
1189 | * trans-intrinsic.c (conv_co_collective): Remove redundant address | |
1190 | operator in the generated code. | |
1191 | ||
635e1b2f | 1192 | 2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org> |
1193 | ||
1194 | PR fortran/66035 | |
1195 | * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment): | |
1196 | Compute the size to allocate for class and derived type objects | |
1197 | correclty. | |
1198 | (gfc_trans_subcomponent_assign): Only allocate memory for a | |
1199 | component when the object to assign is not an allocatable class | |
1200 | object (the memory is already present for allocatable class objects). | |
1201 | Furthermore use copy_class_to_class for assigning the rhs to the | |
1202 | component (may happen for dummy class objects on the rhs). | |
1203 | ||
ac189a3f | 1204 | 2015-07-17 Mikael Morin <mikael@gcc.gnu.org> |
1205 | Dominique d'Humieres <dominiq@lps.ens.fr> | |
1206 | ||
1207 | PR fortran/61831 | |
1208 | * trans-array.c (gfc_conv_array_parameter): Guard allocatable | |
1209 | component deallocation code generation with descriptorless | |
1210 | calling convention flag. | |
1211 | * trans-expr.c (gfc_conv_expr_reference): Remove allocatable | |
1212 | component deallocation code generation from revision 212329. | |
1213 | (expr_may_alias_variables): New function. | |
1214 | (gfc_conv_procedure_call): New boolean elemental_proc to factor | |
1215 | check for procedure elemental-ness. Rename boolean f to nodesc_arg | |
1216 | and declare it in the outer scope. Use expr_may_alias_variables, | |
1217 | elemental_proc and nodesc_arg to decide whether generate allocatable | |
1218 | component deallocation code. | |
1219 | (gfc_trans_subarray_assign): Set deep copy flag. | |
1220 | ||
f45f5f63 | 1221 | 2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org> |
1222 | ||
1223 | PR fortran/66724 | |
1224 | PR fortran/66724 | |
1225 | * io.c (is_char_type): Call gfc_resolve_expr (). | |
1226 | (match_open_element, match_dt_element, match_inquire_element): Fix | |
1227 | ASYNCHRONOUS case. | |
1228 | ||
e51764ad | 1229 | 2015-07-15 Andrew MacLeod <amacleod@redhat.com> |
1230 | ||
1231 | * trans-types.c: Remove multiline #include comment. | |
1232 | ||
fc6c2ed9 | 1233 | 2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org> |
1234 | ||
1235 | * simplify.c (gfc_simplify_floor): Set precision of temporary to | |
1236 | that of arg. | |
1237 | ||
43ea3848 | 1238 | 2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org> |
1239 | ||
1240 | PR fortran/64589 | |
1241 | * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic | |
1242 | types in the top-level namespace. | |
1243 | ||
47ae02b7 | 1244 | 2015-07-12 Aldy Hernandez <aldyh@redhat.com> |
1245 | ||
1246 | * trans-stmt.c: Fix double word typos. | |
1247 | ||
1eacc14a | 1248 | 2015-07-09 Andrew MacLeod <amacleod@redhat.com> |
1249 | ||
1250 | * arith.c: Adjust includes for flags.h changes. | |
1251 | * array.c: Likewise. | |
1252 | * check.c: Likewise. | |
1253 | * decl.c: Likewise. | |
1254 | * error.c: Likewise. | |
1255 | * expr.c: Likewise. | |
1256 | * frontend-passes.c: Likewise. | |
1257 | * interface.c: Likewise. | |
1258 | * intrinsic.c: Likewise. | |
1259 | * io.c: Likewise. | |
1260 | * match.c: Likewise. | |
1261 | * openmp.c: Likewise. | |
1262 | * parse.c: Likewise. | |
1263 | * primary.c: Likewise. | |
1264 | * resolve.c: Likewise. | |
1265 | * scanner.c: Likewise. | |
1266 | * simplify.c: Likewise. | |
1267 | * symbol.c: Likewise. | |
1268 | * target-memory.c: Likewise. | |
1269 | ||
9ef16211 | 1270 | 2015-07-07 Andrew MacLeod <amacleod@redhat.com> |
1271 | ||
1272 | * convert.c: Adjust includes. | |
1273 | * cpp.c: Likewise. | |
1274 | * decl.c: Likewise. | |
1275 | * f95-lang.c: Likewise. | |
1276 | * iresolve.c: Likewise. | |
1277 | * match.c: Likewise. | |
1278 | * module.c: Likewise. | |
1279 | * options.c: Likewise. | |
1280 | * target-memory.c: Likewise. | |
1281 | * trans-array.c: Likewise. | |
1282 | * trans-common.c: Likewise. | |
1283 | * trans-const.c: Likewise. | |
1284 | * trans-decl.c: Likewise. | |
1285 | * trans-expr.c: Likewise. | |
1286 | * trans-intrinsic.c: Likewise. | |
1287 | * trans-io.c: Likewise. | |
1288 | * trans-openmp.c: Likewise. | |
1289 | * trans-stmt.c: Likewise. | |
1290 | * trans-types.c: Likewise. | |
1291 | * trans.c: Likewise. | |
1292 | ||
2331e65c | 1293 | 2015-07-07 Andre Vehreschild <vehre@gmx.de> |
1294 | ||
1295 | PR fortran/66578 | |
1296 | * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor | |
1297 | is one-based for non-full array refs. Correct the offset when a | |
1298 | rank_remap occurs. | |
1299 | ||
ffe67beb | 1300 | 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> |
1301 | ||
1302 | * io.c (check_char_variable): New function. | |
1303 | (match_open_element, match_close_element, match_file_element, | |
1304 | match_dt_element, match_inquire_element, match_wait_element): Use it. | |
1305 | ||
1caa6ab1 | 1306 | 2015-07-06 Andre Vehreschild <vehre@gmx.de> |
1307 | ||
1308 | PR fortran/58586 | |
1309 | * resolve.c (resolve_symbol): Non-private functions in modules | |
1310 | with allocatable or pointer components are marked referenced | |
1311 | now. Furthermore is the default init especially for those | |
1312 | components now done in gfc_conf_procedure_call preventing | |
1313 | duplicate code. | |
1314 | * trans-decl.c (gfc_generate_function_code): Generate a fake | |
1315 | result decl for functions returning an object with allocatable | |
1316 | components and initialize them. | |
1317 | * trans-expr.c (gfc_conv_procedure_call): For value typed trees | |
1318 | use the tree without indirect ref. And for non-decl trees | |
1319 | add a temporary variable to prevent evaluating the tree | |
1320 | multiple times (prevent multiple function evaluations). | |
1321 | * trans.h: Made gfc_trans_structure_assign () protoype | |
1322 | available, which is now needed by trans-decl.c:gfc_generate_ | |
1323 | function_code(), too. | |
1324 | ||
a5baeed0 | 1325 | 2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org> |
1326 | ||
1327 | PR fortran/66725 | |
1328 | * io.c (is_char_type): New function to test for BT_CHARACTER | |
1329 | (gfc_match_open, gfc_match_close, match_dt_element): Use it. | |
1330 | ||
e1c33af9 | 1331 | 2015-07-02 David Edelsohn <dje.gcc@gmail.com> |
1332 | ||
1333 | * trans-common.c: Include <map> after system.h. | |
1334 | ||
4b8eb6ca | 1335 | 2015-07-02 Paul Thomas <pault@gcc.gnu.org> |
1336 | ||
1337 | PR fortran/52846 | |
1338 | * decl.c (get_proc_name): Make a partially populated interface | |
1339 | symbol to carry the characteristics of a module procedure and | |
1340 | its result. | |
1341 | (variable_decl): Declarations of dummies or results in the | |
1342 | abreviated form of module procedure is an error. | |
1343 | (gfc_match_import): IMPORT is not permitted in the interface | |
1344 | declaration of module procedures. | |
1345 | (match_attr_spec): Submodule variables have implicit save | |
1346 | attribute for F2008 onwards. | |
1347 | (gfc_match_prefix): Add 'module' as the a prefix and set the | |
1348 | module_procedure attribute. | |
1349 | (gfc_match_formal_arglist): For a module procedure keep the | |
1350 | interface formal_arglist from the interface, match new the | |
1351 | formal arguments and then compare the number and names of each. | |
1352 | (gfc_match_procedure): Add case COMP_SUBMODULE. | |
1353 | (gfc_match_function_decl, gfc_match_subroutine_decl): Set the | |
1354 | module_procedure attribute. | |
1355 | (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If | |
1356 | attr abr_modproc_decl is set, switch the message accordingly | |
1357 | for subroutines and functions. | |
1358 | (gfc_match_submod_proc): New function to match the abbreviated | |
1359 | style of submodule declaration. | |
1360 | * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the | |
1361 | attribute bits 'used_in_submodule' and 'module_procedure'. Add | |
1362 | the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes | |
1363 | for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and | |
1364 | 'gfc_check_result_characteristics'. | |
1365 | * interface.c : Add the prefix 'gfc_' to the names of functions | |
1366 | 'check_dummy(result)_characteristics' and all their references. | |
1367 | * match.h : Add prototype for 'gfc_match_submod_proc' and | |
1368 | 'gfc_match_submodule'. | |
1369 | (check_sym_interfaces): A module procedure is not an error in | |
1370 | a module procedure statment in a generic interface. | |
1371 | * module.c (gfc_match_submodule): New function. Add handling | |
1372 | for the 'module_procedure' attribute bit. | |
1373 | (gfc_use_module): Make sure that a submodule cannot use itself. | |
1374 | * parse.c (decode_statement): Set attr has_'import_set' for | |
1375 | the interface declaration of module procedures. Handle a match | |
1376 | occurring in 'gfc_match_submod_proc' and a match for | |
1377 | 'submodule'. | |
1378 | (gfc_enclosing_unit): Include the state COMP_SUBMODULE. | |
1379 | (gfc_ascii_statement): Add END SUBMODULE. | |
1380 | (accept_statement): Add ST_SUBMODULE. | |
1381 | (parse_spec): Disallow statement functions in a submodule | |
1382 | specification part. | |
1383 | (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE | |
1384 | twice each. | |
1385 | (get_modproc_result): Copy the result symbol of the interface. | |
1386 | (parse_progunit): Call it. | |
1387 | (set_syms_host_assoc): Make symbols from the ancestor module | |
1388 | and submodules use associated, as required by the standard and | |
1389 | set all private components public. Module procedures 'external' | |
1390 | attribute bit is reset and the 'used_in_submodule' bit is set. | |
1391 | (parse_module): If this is a submodule, use the ancestor module | |
1392 | and submodules. Traverse the namespace, calling | |
1393 | 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE. | |
1394 | * parse.h : Add COMP_SUBMODULE. | |
1395 | * primary.c (match_variable): Add COMP_SUBMODULE. | |
1396 | * resolve.c (compare_fsyms): New function to compare the dummy | |
1397 | characteristics of a module procedure with its interface. | |
1398 | (resolve_fl_procedure): Compare the procedure, result and dummy | |
1399 | characteristics of a module_procedure with its interface, using | |
1400 | 'compare_fsyms' for the dummy arguments. | |
1401 | * symbol.c (gfc_add_procedure): Suppress the check for existing | |
1402 | procedures in the case of a module procedure. | |
1403 | (gfc_add_explicit_interface): Skip checks that must fail for | |
1404 | module procedures. | |
1405 | (gfc_add_type): Allow a new type to be added to module | |
1406 | procedures, their results or their dummy arguments. | |
1407 | (gfc_copy_dummy_sym): New function to generate new dummy args | |
1408 | and copy the characteristics from the interface. | |
1409 | * trans-decl.c (gfc_sym_mangled_function_id): Module procedures | |
1410 | must always have their names mangled as if they are symbols | |
1411 | coming from a declaration in a module. | |
1412 | (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert. | |
1413 | (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit | |
1414 | set are set DECL_EXTERNAL as if they were use associated. | |
1415 | ||
fb1481e4 | 1416 | 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1417 | ||
1418 | PR fortran/56520 | |
1419 | * match.c (gfc_match_name): Special case unary minus and plus. | |
1420 | ||
968f733d | 1421 | 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1422 | ||
1423 | PR fortran/66545 | |
1424 | * primary.c (match_sym_complex_part): Do not dereference NULL pointer. | |
1425 | ||
2cc308f8 | 1426 | 2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
1427 | ||
1428 | * arith.c (gfc_arith_divide): With -Winteger-division, | |
1429 | warn about contant integer division if there is a non-zero | |
1430 | remainder. | |
1431 | * invoke.texi: Document -Winteger-division. | |
1432 | * lang.opt: Add -Winteger-division. | |
1433 | ||
ec2e0095 | 1434 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> |
1435 | ||
1436 | * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list. | |
1437 | * trans-decl.c: Likewise. | |
1438 | ||
b594087e | 1439 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> |
1440 | ||
1441 | * trans-decl.c (module_hasher): Likewise. | |
1442 | * trans.h (module_decl_hasher): Likewise. | |
1443 | ||
964f793c | 1444 | 2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org> |
1445 | ||
1446 | PR fortran/66528 | |
1447 | * error.c (gfc_warning_check): Restore the default output_buffer | |
1448 | before calling diagnostic_action_after_output. | |
1449 | (gfc_error_check): Likewise. | |
1450 | (gfc_diagnostics_init): Add comment. | |
1451 | ||
505aa56a | 1452 | 2015-06-23 Andre Vehreschild <vehre@gmx.de> |
1453 | ||
1454 | PR fortran/64674 | |
1455 | * parse.c (parse_associate): Figure the rank and as of a | |
1456 | class array in an associate early. | |
1457 | * primary.c (gfc_match_varspec): Prevent setting the | |
1458 | dimension attribute on the sym for classes. | |
1459 | * resolve.c (resolve_variable): Correct the component | |
1460 | ref's type for associated variables. Add a full array ref | |
1461 | when class array's are associated. | |
1462 | (resolve_assoc_var): Correct the type of the symbol, | |
1463 | when in the associate the expression's rank becomes scalar. | |
1464 | * trans-expr.c (gfc_conv_variable): Indirect ref needed for | |
1465 | allocatable associated objects. | |
1466 | ||
f1c53664 | 1467 | 2015-06-19 Mikael Morin <mikael@gcc.gnu.org> |
1468 | ||
1469 | PR fortran/66549 | |
1470 | * resolve.c (resolve_global_procedure): Don't save and restore | |
1471 | OpenMP state around the call to gfc_resolve. | |
1472 | (gfc_resolve): Save OpenMP state on entry and restore it on return. | |
1473 | ||
f2ab3bac | 1474 | 2015-06-17 Andrew MacLeod <amacleod@redhat.com> |
1475 | ||
1476 | * convert.c: Do not include input.h, line-map.h or is-a.h. | |
1477 | * cpp.c: Likewise. | |
1478 | * decl.c: Likewise. | |
1479 | * f95-lang.c: Likewise. | |
1480 | * gfortran.h: Likewise. | |
1481 | * iresolve.c: Likewise. | |
1482 | * match.c: Likewise. | |
1483 | * module.c: Likewise. | |
1484 | * options.c: Likewise. | |
1485 | * target-memory.c: Likewise. | |
1486 | * trans-array.c: Likewise. | |
1487 | * trans-common.c: Likewise. | |
1488 | * trans-const.c: Likewise. | |
1489 | * trans-decl.c: Likewise. | |
1490 | * trans-expr.c: Likewise. | |
1491 | * trans-intrinsic.c: Likewise. | |
1492 | * trans-io.c: Likewise. | |
1493 | * trans-openmp.c: Likewise. | |
1494 | * trans-stmt.c: Likewise. | |
1495 | * trans-types.c: Likewise. | |
1496 | * trans.c: Likewise. | |
1497 | ||
7ea35e8f | 1498 | 2015-06-15 Andre Vehreschild <vehre@gmx.de> |
1499 | ||
1500 | PR fortran/44672 | |
1501 | PR fortran/45440 | |
1502 | PR fortran/57307 | |
1503 | * gfortran.h: Extend gfc_code.ext.alloc to carry a | |
1504 | flag indicating that the array specification has to be | |
1505 | taken from expr3. | |
1506 | * resolve.c (resolve_allocate_expr): Add F2008 notify | |
1507 | and flag indicating source driven array spec. | |
1508 | (resolve_allocate_deallocate): Check for source driven | |
1509 | array spec, when array to allocate has no explicit | |
1510 | array spec. | |
1511 | * trans-array.c (gfc_array_init_size): Get lower and | |
1512 | upper bound from a tree array descriptor, except when | |
1513 | the source expression is an array-constructor which is | |
1514 | fixed to be one-based. | |
1515 | (retrieve_last_ref): Extracted from gfc_array_allocate(). | |
4b8eb6ca | 1516 | (gfc_array_allocate): Enable allocate(array, source= |
7ea35e8f | 1517 | array_expression) as specified by F2008:C633. |
1518 | (gfc_conv_expr_descriptor): Add class tree expression | |
1519 | into the saved descriptor for class arrays. | |
1520 | * trans-array.h: Add temporary array descriptor to | |
1521 | gfc_array_allocate (). | |
1522 | * trans-expr.c (gfc_conv_procedure_call): Special handling | |
1523 | for _copy() routine translation, that comes without an | |
1524 | interface. Third and fourth argument are now passed by value. | |
1525 | * trans-stmt.c (gfc_trans_allocate): Get expr3 array | |
1526 | descriptor for temporary arrays to allow allocate(array, | |
1527 | source = array_expression) for array without array | |
1528 | specification. | |
1529 | ||
b27c37b2 | 1530 | 2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
1531 | ||
1532 | * intrinsic.texi: Change \leq to < in descrition of imaginary | |
1533 | part in argument to log. | |
1534 | ||
e86bbccf | 1535 | 2015-06-11 Paul Thomas <pault@gcc.gnu.org> |
1536 | ||
1537 | PR fortran/66079 | |
1538 | * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar | |
1539 | function results must be freed and nullified after use. Create | |
1540 | a temporary to hold the result to prevent duplicate calls. | |
1541 | * trans-stmt.c (gfc_trans_allocate): Rename temporary variable | |
1542 | as 'source'. Deallocate allocatable components of non-variable | |
1543 | 'source's. | |
1544 | ||
f2023823 | 1545 | 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> |
1546 | ||
1547 | * f95-lang.c (gfc_create_decls): Register the main translation unit | |
1548 | through the new debug hook. | |
1549 | ||
64486212 | 1550 | 2015-06-08 Andrew MacLeod <amacleod@redhat.com> |
1551 | ||
1552 | * convert.c : Adjust include files. | |
1553 | * cpp.c : Likewise. | |
1554 | * decl.c : Likewise. | |
1555 | * f95-lang.c : Likewise. | |
1556 | * gfortran.h : Likewise. | |
1557 | * iresolve.c : Likewise. | |
1558 | * match.c : Likewise. | |
1559 | * module.c : Likewise. | |
1560 | * openmp.c : Likewise. | |
1561 | * options.c : Likewise. | |
1562 | * target-memory.c : Likewise. | |
1563 | * trans-array.c : Likewise. | |
1564 | * trans-common.c : Likewise. | |
1565 | * trans-const.c : Likewise. | |
1566 | * trans-decl.c : Likewise. | |
1567 | * trans-expr.c : Likewise. | |
1568 | * trans-intrinsic.c : Likewise. | |
1569 | * trans-io.c : Likewise. | |
1570 | * trans-openmp.c : Likewise. | |
1571 | * trans-stmt.c : Likewise. | |
1572 | * trans-types.c : Likewise. | |
1573 | * trans.c : Likewise. | |
1574 | ||
9b5d7505 | 1575 | 2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org> |
1576 | ||
1577 | PR fortran/66245 | |
1578 | * match.c (gfc_match_type_is, gfc_match_class_is): Check if the | |
1579 | return type spec or derived type spec is validate. | |
1580 | ||
a74c2d0d | 1581 | 2015-06-06 Thomas Koenig <tkoenig@netcologne.de> |
1582 | ||
6cff4a01 | 1583 | PR fortran/47659 |
a74c2d0d | 1584 | * arith.c (eval_intrinsic_op): Set warn flag for |
1585 | gfc_type_convert_binary if -Wconversion or -Wconversion-extra | |
1586 | are set. | |
1587 | (wprecision_real_real): New function. | |
1588 | (wprecision_int_real): New function. | |
1589 | (gfc_int2int): If -fno-range-check and -Wconversion are specified | |
1590 | and it is a narrowing conversion, warn. | |
1591 | (gfc_int2real): If there is a change in value for the conversion, | |
1592 | warn. | |
1593 | (gfc_int2complex): Likewise. | |
1594 | (gfc_real2int): If there is a fractional part to the real number, | |
1595 | warn with -Wconversion, otherwise warn with -Wconversion-extra. | |
1596 | (gfc_real2real): Emit warning if the constant was changed by | |
1597 | conversion with either -Wconversion or -Wconversion-extra. With | |
1598 | -Wconversion-extra, warn if no warning was issued earlier. | |
1599 | (gfc_real2complex): Likewise. | |
1600 | (gfc_complex2int): For -Wconversion or -Wconversion-extra, if | |
1601 | there was an imaginary part, warn; otherwise, warn for change in | |
1602 | value. Warn with -Wconversion-extra if no other warning was | |
1603 | issued. | |
1604 | (gfc_complex2real): For -Wconversion or -Wconversion-extra, if | |
1605 | there was an imaginary part, warn; otherwise, warn for change in | |
1606 | value. Warn with -Wconversion-extra if no other warning was | |
1607 | issued. | |
1608 | (gfc_complex2complex): For -Wconversion, warn if the value of | |
1609 | either the real or the imaginary part was changed. Warn for | |
1610 | -Wconversion-extra if no prior warning was issued. | |
1611 | * expr.c (gfc_check_assign): Remove check for change in value. | |
1612 | * primary.c (match_real_constant): For -Wconversion-extra, check | |
1613 | against a number in which the last non-zero digit has been | |
1614 | replaced with a zero. If the number compares equal, warn. | |
1615 | * intrinsic.c (gfc_convert_type_warn): Do not warn about constant | |
1616 | conversions. | |
1617 | ||
ff232eb9 | 1618 | 2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org> |
1619 | ||
1620 | PR fortran/66347 | |
1621 | * resolve.c (apply_default_init_local): Do not dereference a NULL | |
1622 | pointer. | |
1623 | ||
aed02d59 | 1624 | 2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
1625 | ||
1626 | PR fortran/66385 | |
1627 | * frontend-passes.c (combine_array_constructor): Return early if | |
1628 | inside a FORALL loop. | |
1629 | ||
3a1c9df2 | 1630 | 2015-06-05 Aldy Hernandez <aldyh@redhat.com> |
1631 | ||
1632 | * f95-lang.c (gfc_write_global_declarations): Remove. | |
1633 | (LANG_HOOKS_WRITE_GLOBALS): Remove. | |
1634 | (gfc_write_global_declarations): Move code from here to... | |
1635 | (gfc_be_parse_file): ...here. | |
1636 | Call global_decl_processing. | |
1637 | * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl | |
1638 | to early_global_decl. | |
1639 | ||
bed86f06 | 1640 | 2015-06-05 Russell Whitesides <russelldub@gmail.com> |
1641 | Steven G. Kargl <kargl@gcc.gnu.org> | |
1642 | ||
1643 | PR fortran/40958 | |
1644 | PR fortran/60780 | |
1645 | PR fortran/66377 | |
1646 | * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs | |
1647 | from different modules. Eliminate the pruning of unused | |
1648 | equivalence-objects | |
1649 | ||
8fa35611 | 1650 | 2015-06-04 Thomas Koenig <tkoenig@netcologne.de> |
1651 | ||
1652 | PR fortran/58749 | |
1653 | * iresolve.c (gfc_resolve_adjustl): If string has a charlen, | |
1654 | copy it to the function. | |
1655 | (gfc_resolve_adjustr): Likewise. | |
1656 | ||
f77c0292 | 1657 | 2015-06-04 Andrew MacLeod <amacleod@redhat.com> |
1658 | ||
1659 | * convert.c: Adjust includes for restructured coretypes.h. | |
1660 | * cpp.c: Likewise. | |
1661 | * decl.c: Likewise. | |
1662 | * f95-lang.c: Likewise. | |
1663 | * iresolve.c: Likewise. | |
1664 | * match.c: Likewise. | |
1665 | * module.c: Likewise. | |
1666 | * options.c: Likewise. | |
1667 | * target-memory.c: Likewise. | |
1668 | * trans-array.c: Likewise. | |
1669 | * trans-common.c: Likewise. | |
1670 | * trans-const.c: Likewise. | |
1671 | * trans-decl.c: Likewise. | |
1672 | * trans-expr.c: Likewise. | |
1673 | * trans-intrinsic.c: Likewise. | |
1674 | * trans-io.c: Likewise. | |
1675 | * trans-openmp.c: Likewise. | |
1676 | * trans-stmt.c: Likewise. | |
1677 | * trans-types.c: Likewise. | |
1678 | * trans.c: Likewise. | |
1679 | ||
f1591b49 | 1680 | 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1681 | ||
12e011e3 | 1682 | PR fortran/66380 |
f1591b49 | 1683 | * simplify.c (gfc_simplify_reshape): Convert assert into returning |
1684 | NULL, which triggers an error condition. | |
1685 | ||
c26f6f28 | 1686 | 2015-05-27 Andre Vehreschild <vehre@gmx.de> |
1687 | ||
1688 | PR fortran/65548 | |
1689 | * trans-stmt.c (gfc_trans_allocate): Add missing location | |
1690 | information for e3rhs. | |
1691 | ||
9ee70f20 | 1692 | 2015-05-26 Paul Thomas <pault@gcc.gnu.org> |
1693 | ||
1694 | PR fortran/66082 | |
1695 | * trans-array.c (gfc_conv_array_parameter): Ensure that all | |
1696 | non-variable arrays with allocatable components have the | |
1697 | components deallocated after the procedure call. | |
1698 | ||
904b56f7 | 1699 | 2015-05-24 Mikael Morin <mikael@gcc.gnu.org> |
1700 | ||
1701 | PR fortran/66257 | |
1702 | * resolve.c (resolve_actual_arglist): Don't throw an error | |
1703 | if the argument with procedure pointer component is not a variable. | |
1704 | ||
e87256b0 | 1705 | 2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org> |
1706 | ||
1707 | PR fortran/44054 | |
1708 | * gfortran.h (struct gfc_error_buf): Rename as | |
1709 | gfc_error_buffer. Move closer to push, pop and free | |
1710 | methods. Reimplement using an output_buffer. | |
1711 | * error.c (errors, warnings, warning_buffer, cur_error_buffer): | |
1712 | Delete everywhere in this file. | |
1713 | (error_char): Delete all contents. | |
1714 | (gfc_increment_error_count): Delete. | |
1715 | (gfc_error_now): Update comment. Set error_buffer.flag. | |
1716 | (gfc_warning_check): Do not handle warning_buffer. | |
1717 | (gfc_error_1): Delete. | |
1718 | (gfc_error_now_1): Delete. | |
1719 | (gfc_error_check): Simplify. | |
1720 | (gfc_move_error_buffer_from_to): Renamed from | |
1721 | gfc_move_output_buffer_from_to. | |
1722 | (gfc_push_error): Handle only gfc_error_buffer. | |
1723 | (gfc_pop_error): Likewise. | |
1724 | (gfc_free_error): Likewise. | |
1725 | (gfc_get_errors): Remove warnings and errors. | |
1726 | (gfc_diagnostics_init): Use static error_buffer. | |
1727 | (gfc_error_1,gfc_error_now_1): Delete declarations. | |
1728 | * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c, | |
1729 | frontend-passes.c, resolve.c, match.c, parse.c: Replace | |
1730 | gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1 | |
1731 | everywhere. | |
1732 | * f95-lang.c (gfc_be_parse_file): Do not update errorcount and | |
1733 | warningcount here. | |
1734 | * primary.c (match_complex_constant): Replace gfc_error_buf and | |
1735 | output_buffer with gfc_error_buffer. | |
1736 | ||
eeec71b4 | 1737 | 2015-05-22 Jim Wilson <jim.wilson@linaro.org> |
1738 | ||
1739 | * Make-lang.in (check_gfortran_parallelize): Update comment. | |
1740 | ||
401a3ee4 | 1741 | 2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
1742 | ||
1743 | PR fortran/66176 | |
1744 | * frontend-passes.c (check_conjg_variable): New function. | |
1745 | (inline_matmul_assign): Use it to keep track of conjugated | |
1746 | variables. | |
1747 | ||
62934d39 | 1748 | 2015-05-20 Andre Vehreschild <vehre@gmx.de> |
1749 | ||
1750 | PR fortran/65548 | |
1751 | * trans-stmt.c (gfc_trans_allocate): Always retrieve the | |
1752 | descriptor or a reference to a source= expression for | |
1753 | arrays and non-arrays, respectively. Use a temporary | |
1754 | symbol and gfc_trans_assignment for all source= | |
1755 | assignments to allocated objects besides for class and | |
1756 | derived types. | |
1757 | ||
d7729e26 | 1758 | 2015-05-19 Jakub Jelinek <jakub@redhat.com> |
1759 | ||
1760 | PR middle-end/66199 | |
1761 | * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for | |
1762 | combined constructs. | |
1763 | (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL | |
1764 | BIND_EXPR_BLOCK. | |
1765 | ||
551e34da | 1766 | 2015-05-19 David Malcolm <dmalcolm@redhat.com> |
1767 | ||
1768 | * cpp.c (maybe_print_line): Strengthen local "map" from | |
1769 | const line_map * to const line_map_ordinary *. | |
1770 | (cb_file_change): Likewise for param "map" and local "from". | |
1771 | (cb_line_change): Likewise for local "map". | |
1772 | ||
dfcf26a5 | 1773 | 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com> |
1774 | ||
1775 | * interface.c (compare_actual_formal): Use std::swap instead of | |
1776 | explicit swaps. | |
1777 | * trans-array.c (gfc_trans_scalarized_loop_end): Likewise. | |
1778 | * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise. | |
1779 | ||
5b266f8b | 1780 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1781 | ||
1782 | PR fortran/66106 | |
1783 | * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201). | |
1784 | * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE. | |
1785 | ||
7e8f55c1 | 1786 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1787 | ||
1788 | PR fortran/66057 | |
1789 | * decl.c(gfc_match_generic): Detected a malformed GENERIC statement. | |
1790 | ||
07914e3e | 1791 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1792 | ||
1793 | PR fortran/66043 | |
1794 | * gfortran.dg/storage_size_6.f90: New tests. | |
1795 | ||
54c0257b | 1796 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1797 | ||
1798 | PR fortran/66043 | |
1799 | * gfortran.dg/storage_size_6.f90: New tests. | |
1800 | ||
3132dbae | 1801 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1802 | ||
1803 | PR fortran/66044 | |
1804 | * decl.c(gfc_match_entry): Change a gfc_internal_error() into | |
e86bbccf | 1805 | a gfc_error() |
3132dbae | 1806 | |
552a6172 | 1807 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1808 | ||
1809 | PR fortran/66043 | |
1810 | * gfortran.dg/storage_size_6.f90: New tests. | |
1811 | ||
0f91e212 | 1812 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1813 | ||
1814 | PR fortran/66040 | |
1815 | * parse.c(verify_st_order): Replace a gfc_internal_error with your | |
1816 | generic gfc_error. | |
1817 | ||
753ec85a | 1818 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1819 | ||
1820 | PR fortran/66039 | |
1821 | * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH, | |
1822 | BACKSPACE, and ENDFILE statements | |
1823 | ||
ed95ccea | 1824 | 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> |
1825 | ||
1826 | PR fortran/64925 | |
1827 | * symbol.c(check_conflict): Check for a conflict between a dummy | |
1828 | argument and an internal procedure name. | |
1829 | ||
36411e2f | 1830 | 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1831 | ||
1832 | PR fortran/65903 | |
1833 | * io.c (format_lex): Change to NONSTRING when checking for | |
1834 | possible doubled quote. | |
1835 | * scanner.c (gfc_next_char_literal): Revert change from 64506 | |
1836 | and add a check for quotes and return. | |
1837 | ||
dcd51ab4 | 1838 | 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
1839 | ||
1840 | PR fortran/66113 | |
1841 | * expr.c (is_parent_of_current_ns): New function. | |
1842 | (check_restricted): Use it. | |
1843 | ||
09172322 | 1844 | 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> |
1845 | ||
1846 | PR fortran/44054 | |
1847 | ||
1848 | Replace all calls to gfc_notify_std_1 with gfc_notify_std and | |
1849 | gfc_warning_1 with gfc_warning. | |
1850 | * decl.c (gfc_verify_c_interop_param): Here. | |
1851 | * resolve.c (resolve_branch): Here. | |
1852 | (resolve_fl_derived): Here. | |
1853 | * dependency.c (gfc_check_argument_var_dependency): | |
1854 | * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line | |
1855 | counter and locations before and after warning. | |
1856 | * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): | |
1857 | Delete. | |
1858 | (gfc_warning_now_at): Declare. | |
1859 | * error.c (gfc_warning_1): Delete. | |
1860 | (gfc_notify_std_1): Delete. | |
1861 | (gfc_warning_now_1): Delete. | |
1862 | (gfc_format_decoder): Handle two locations. | |
1863 | (gfc_diagnostic_build_prefix): Rename as | |
1864 | gfc_diagnostic_build_kind_prefix. | |
1865 | (gfc_diagnostic_build_locus_prefix): Take an expanded_location | |
1866 | instead of diagnostic_info. | |
1867 | (gfc_diagnostic_build_locus_prefix): Add overload that takes two | |
1868 | expanded_location. | |
1869 | (gfc_diagnostic_starter): Handle two locations. | |
1870 | (gfc_warning_now_at): New. | |
1871 | (gfc_diagnostics_init): Initialize caret_chars array. | |
1872 | (gfc_diagnostics_finish): Reset caret_chars array to default. | |
1873 | ||
dcd51ab4 | 1874 | 2015-05-16 Mikael Morin <mikael@gcc.gnu.org> |
b8f8c849 | 1875 | Paul Thomas <pault@gcc.gnu.org> |
1876 | ||
1877 | PR fortran/65792 | |
1878 | * trans-expr.c (gfc_trans_subcomponent_assign): Always assign | |
1879 | the expression component to the destination. In addition, if | |
1880 | the component has allocatable components, copy them and | |
1881 | deallocate those of the expression, if it is not a variable. | |
1882 | The expression is fixed if not a variable to prevent multiple | |
1883 | evaluations. | |
1884 | ||
2315565f | 1885 | 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
1886 | ||
1887 | PR fortran/66111 | |
1888 | * frontend-passes.c (has_dimen_vector_ref): New function. | |
1889 | (inline_matmul_assign): Use it to return early in case | |
1890 | of unhandled vector subscripts. | |
1891 | ||
b15c0a68 | 1892 | 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
1893 | ||
1894 | PR fortran/66041 | |
1895 | PR fortran/37131 | |
1896 | * gfortran.h (gfc_array_spec): Add field resolved. | |
1897 | * array.c (gfc_resolve_array_spec): Resolve array spec | |
1898 | only once. | |
1899 | ||
eca9d76c | 1900 | 2015-05-11 Mikael Morin <mikael@gcc.gnu.org> |
1901 | ||
1902 | PR fortran/66100 | |
1903 | * simplify.c (simplify_bound): Fix assert to accept subobject arrays. | |
1904 | ||
c127234a | 1905 | 2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
1906 | ||
1907 | PR fortran/66041 | |
1908 | * frontend-passes.c (scalarized_expr): Set correct dimension and | |
1909 | shape for the expression to be passed to lbound. Remove trailing | |
1910 | references after array refrence. | |
1911 | (inline_matmul_assign): Remove gfc_copy_expr from calls | |
1912 | to scalarized_expr(). | |
1913 | ||
ea75b8c3 | 1914 | 2015-05-10 Mikael Morin <mikael@gcc.gnu.org> |
1915 | ||
1916 | * simplify.c (simplify_bound_dim): Don't check for emptyness | |
1917 | in the case of cobound simplification. Factor lower/upper | |
1918 | bound differenciation before the actual simplification. | |
c127234a | 1919 | (simplify_bound): Remove assumed shape specific simplification. |
ea75b8c3 | 1920 | Don't give up early for the lbound of an assumed shape. |
1921 | ||
ee00cebb | 1922 | 2015-05-09 Mikael Morin <mikael@gcc.gnu.org> |
1923 | ||
1924 | PR fortran/65894 | |
1925 | * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference): | |
1926 | New prototype. | |
1927 | * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): | |
1928 | New function. | |
1929 | (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference | |
1930 | as conditional. | |
1931 | (gfc_walk_elemental_function_args): Set the dummy_arg field. | |
1932 | * trans.h (gfc_ss_info): New subfield dummy_arg. | |
1933 | * trans-expr.c (gfc_conv_procedure_call): Revert the change | |
1934 | of revision 222361. | |
1935 | (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference | |
1936 | as conditional. | |
1937 | ||
eb42d18a | 1938 | 2015-05-08 Mikael Morin <mikael@gcc.gnu.org> |
1939 | ||
1940 | * trans-array.c (gfc_walk_elemental_function_args): | |
1941 | Don't skip the advance to the next dummy argument when skipping | |
1942 | absent optional args. | |
1943 | ||
5c6f6a61 | 1944 | 2015-05-05 David Malcolm <dmalcolm@redhat.com> |
1945 | ||
1946 | * expr.c (check_inquiry): Fix indentation so that it reflects the | |
1947 | block structure. | |
1948 | * interface.c (compare_parameter): Likewise. | |
1949 | * parse.c (parse_oacc_structured_block): Likewise. | |
1950 | * target-memory.c (expr_to_char): Likewise. | |
1951 | * trans-types.c (gfc_init_kinds): Likewise. | |
1952 | ||
d76862c8 | 1953 | 2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1954 | ||
1955 | PR fortran/65976 | |
1956 | * invoke.texi: Remove 'no-' in '-fno-fixed-form' | |
1957 | ||
d42fede8 | 1958 | 2015-05-01 Mikael Morin <mikael@gcc.gnu.org> |
1959 | ||
1960 | * simplify.c (simplify_bound_dim): Tighten the check for array fullness | |
1961 | by also checking for absence of subreference. | |
1962 | (simplify_bound): Don't skip simplification if the array | |
1963 | has subreferences. | |
1964 | (simplify_cobound): Same. | |
1965 | ||
3da642f5 | 1966 | 2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
1967 | ||
1968 | PR fortran/37131 | |
1969 | * simplify.c (simplify_bound): Get constant lower bounds of one | |
1970 | from array spec for assumed and explicit shape shape arrays if | |
1971 | the lower bounds are indeed one. | |
1972 | ||
7082509e | 1973 | 2015-04-30 David Malcolm <dmalcolm@redhat.com> |
1974 | ||
1975 | * options.c (gfc_init_options): Remove spurious second | |
1976 | semicolon. | |
1977 | * trans-stmt.c (gfc_trans_allocate): Likewise. | |
1978 | ||
b085c206 | 1979 | 2015-04-28 Andre Vehreschild <vehre@gmx.de> |
1980 | ||
1981 | * interface.c (gfc_compare_types): Check for unlimited | |
1982 | polymorphism flag in the correct position indepent of the _data | |
1983 | component being present or not. This prevents a segfault, when | |
1984 | the _data component is not present. | |
1985 | * symbol.c (gfc_type_compatible): Same. | |
1986 | ||
b1891a46 | 1987 | 2015-04-27 Jim Wilson <jim.wilson@linaro.org> |
1988 | ||
1989 | * Make-lang.in (fortran.mostlyclean): Remove gfortran and | |
1990 | gfortran-cross. | |
1991 | ||
128078ac | 1992 | 2015-04-27 Andre Vehreschild <vehre@gmx.de> |
1993 | ||
1994 | PR fortran/59678 | |
1995 | PR fortran/65841 | |
1996 | * trans-array.c (duplicate_allocatable): Fixed deep copy of | |
1997 | allocatable components, which are liable for copy only, when | |
1998 | they are allocated. | |
1999 | (gfc_duplicate_allocatable): Add deep-copy code into if | |
2000 | component allocated block. Needed interface change for that. | |
2001 | (gfc_copy_allocatable_data): Supplying NULL_TREE for code to | |
2002 | add into if-block for checking whether a component was | |
2003 | allocated. | |
2004 | (gfc_duplicate_allocatable_nocopy): Likewise. | |
2005 | (structure_alloc_comps): Likewise. | |
2006 | * trans-array.h: Likewise. | |
2007 | * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise. | |
2008 | * trans-openmp.c (gfc_walk_alloc_comps): Likewise. | |
2009 | ||
c6793847 | 2010 | 2015-04-23 Andre Vehreschild <vehre@gmx.de> |
2011 | ||
2012 | PR fortran/60322 | |
2013 | * expr.c (gfc_lval_expr_from_sym): Code to select the regular | |
2014 | or class array added. | |
2015 | * gfortran.h: Add IS_CLASS_ARRAY macro. | |
2016 | * trans-array.c (gfc_add_loop_ss_code): Treat class objects | |
2017 | to be referenced always. | |
2018 | (build_class_array_ref): Adapt retrieval of array descriptor. | |
2019 | (build_array_ref): Likewise. | |
b8f8c849 | 2020 | (gfc_conv_array_ref): Hand the vptr or the descriptor to |
c6793847 | 2021 | build_array_ref depending whether the sym is class or not. |
2022 | (gfc_trans_array_cobounds): Select correct gfc_array_spec for | |
2023 | regular and class arrays. | |
2024 | (gfc_trans_array_bounds): Likewise. | |
b8f8c849 | 2025 | (gfc_trans_dummy_array_bias): Likewise. |
c6793847 | 2026 | (gfc_get_dataptr_offset): Correcting call of build_array_ref. |
2027 | (gfc_conv_expr_descriptor): Set the array's offset to -1 when | |
2028 | lbound in inner most dim is 1 and symbol non-pointer/assoc. | |
2029 | * trans-decl.c (gfc_build_qualified_array): Select correct | |
2030 | gfc_array_spec for regular and class arrays. | |
2031 | (gfc_build_dummy_array_decl): Likewise. | |
2032 | (gfc_get_symbol_decl): Get a dummy array for class arrays. | |
2033 | (gfc_trans_deferred_vars): Tell conv_expr that the descriptor | |
2034 | is desired. | |
2035 | * trans-expr.c (gfc_class_vptr_get): Get the class descriptor | |
2036 | from the correct location for class arrays. | |
2037 | (gfc_class_len_get): Likewise. | |
2038 | (gfc_conv_intrinsic_to_class): Add handling of _len component. | |
2039 | (gfc_conv_class_to_class): Prevent access to unset array data | |
2040 | when the array is an optional argument. Add handling of _len | |
2041 | component. | |
2042 | (gfc_copy_class_to_class): Check that _def_init is non-NULL | |
2043 | when used in _vptr->copy() | |
2044 | (gfc_trans_class_init_assign): Ensure that the rank of | |
2045 | _def_init is zero. | |
2046 | (gfc_conv_component_ref): Get the _vptr along with _data refs. | |
2047 | (gfc_conv_variable): Make sure the temp array descriptor is | |
2048 | returned for class arrays, too, and that class arrays are | |
2049 | dereferenced correctly. | |
2050 | (gfc_conv_procedure_call): For polymorphic type initialization | |
2051 | the initializer has to be a pointer to _def_init stored in a | |
2052 | dummy variable, which then needs to be used by value. | |
2053 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the | |
2054 | temporary array descriptor for class arrays, too. | |
2055 | (gfc_conv_intrinsic_storage_size): Likewise. | |
2056 | (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS | |
2057 | expressions. | |
2058 | * trans-stmt.c (trans_associate_var): Use a temporary array for | |
2059 | the associate variable of class arrays, too, making the array | |
2060 | one-based (lbound == 1). | |
2061 | * trans-types.c (gfc_is_nodesc_array): Use the correct | |
2062 | array data. | |
2063 | * trans.c (gfc_build_array_ref): Use the dummy array descriptor | |
2064 | when present. | |
2065 | * trans.h: Add class_vptr to gfc_se for storing a class ref's | |
2066 | vptr. | |
2067 | ||
9a58b00a | 2068 | 2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org> |
2069 | ||
2070 | PR fortran/65429 | |
2071 | * decl.c (add_init_expr_to_sym): Set the length type parameter. | |
2072 | ||
0c10bedd | 2073 | 2015-04-10 Tobias Burnus <burnus@net-b.de> |
2074 | ||
2075 | * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib | |
2076 | version; reject not-yet-implemented variants. | |
2077 | * trans-types.c (gfc_get_derived_type): For lock_type with | |
2078 | -fcoarray=lib, use a void pointer as type. | |
2079 | * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable): | |
2080 | Handle lock_type with -fcoarray=lib. | |
2081 | ||
72bec0a3 | 2082 | 2015-04-10 Mikael Morin <mikael@gcc.gnu.org> |
2083 | ||
2084 | PR fortran/56674 | |
2085 | PR fortran/58813 | |
2086 | PR fortran/59016 | |
2087 | PR fortran/59024 | |
2088 | * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the | |
2089 | former to the latter and make it non-static. Update callers. | |
2090 | * gfortran.h (gfc_save_symbol_data): New prototype. | |
2091 | * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data' | |
2092 | before modifying symbols 'sym' and 'dt_sym'. | |
2093 | ||
01b65dcf | 2094 | 2013-04-09 Paul Thomas <pault@gcc.gnu.org> |
2095 | ||
2096 | PR fortran/56852 | |
2097 | * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any | |
2098 | of the index variables are untyped and errors are present. | |
2099 | ||
31325b3e | 2100 | 2015-04-07 Andre Vehreschild <vehre@gmx.de> |
2101 | ||
2102 | PR fortran/65548 | |
2103 | * trans-stmt.c (gfc_trans_allocate): For intrinsic functions | |
2104 | use conv_expr_descriptor() instead of conv_expr_reference(). | |
2105 | ||
8126264b | 2106 | 2015-03-30 Jakub Jelinek <jakub@redhat.com> |
2107 | ||
2108 | PR fortran/65597 | |
2109 | * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit | |
2110 | linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN. | |
2111 | For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1 | |
2112 | instead of the original step on the new iterator - count. | |
2113 | ||
b07e936a | 2114 | 2015-03-25 Mikael Morin <mikael@gcc.gnu.org> |
2115 | ||
2116 | PR fortran/64952 | |
2117 | PR fortran/65532 | |
2118 | * gfortran.h (struct gfc_namespace): New field 'types_resolved'. | |
2119 | * resolve.c (resolve_types): Return early if field 'types_resolved' | |
2120 | is set. Set 'types_resolved' at the end. | |
2121 | ||
2841bae5 | 2122 | 2015-03-24 Andre Vehreschild <vehre@gmx.de> |
2123 | ||
2124 | PR fortran/55901 | |
2125 | * trans-expr.c (gfc_conv_structure): Fixed indendation. | |
2126 | Using integer_zero_node now instead of explicitly | |
2127 | constructing a integer constant zero node. | |
2128 | (gfc_conv_derived_to_class): Add handling of _len component, | |
2129 | i.e., when the rhs has a string_length then assign that to | |
2130 | class' _len, else assign 0. | |
2131 | (gfc_conv_intrinsic_to_class): Likewise. | |
2132 | ||
535b0484 | 2133 | 2015-03-24 Andre Vehreschild <vehre@gmx.de> |
2134 | ||
2135 | PR fortran/64787 | |
2136 | PR fortran/57456 | |
2137 | PR fortran/63230 | |
2138 | * class.c (gfc_add_component_ref): Free no longer needed | |
2139 | ref-chains to prevent memory loss. | |
2140 | (find_intrinsic_vtab): For deferred length char arrays or | |
2141 | unlimited polymorphic objects, store the size in bytes of one | |
2142 | character in the size component of the vtab. | |
2143 | * gfortran.h: Added gfc_add_len_component () define. | |
2144 | * trans-array.c (gfc_trans_create_temp_array): Switched to new | |
2145 | function name for getting a class' vtab's field. | |
2146 | (build_class_array_ref): Likewise. | |
2147 | (gfc_array_init_size): Using the size information from allocate | |
2148 | more consequently now, i.e., the typespec of the entity to | |
2149 | allocate is no longer needed. This is to address the last open | |
2150 | comment in PR fortran/57456. | |
2151 | (gfc_array_allocate): Likewise. | |
2152 | (structure_alloc_comps): gfc_copy_class_to_class () needs to | |
2153 | know whether the class is unlimited polymorphic. | |
2154 | * trans-array.h: Changed interface of gfc_array_allocate () to | |
2155 | reflect the no longer needed typespec. | |
2156 | * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New. | |
2157 | (gfc_reset_len): New. | |
2158 | (gfc_get_class_array_ref): Switch to new function name for | |
2159 | getting a class' vtab's field. | |
2160 | (gfc_copy_class_to_class): Added flag to know whether the class | |
2161 | to copy is unlimited polymorphic. Adding _len dependent code | |
2162 | then, which calls ->vptr->copy () with four arguments adding | |
2163 | the length information ->vptr->copy(from, to, from_len, to_cap). | |
2164 | (gfc_conv_procedure_call): Switch to new function name for | |
01b65dcf | 2165 | getting a class' vtab's field. |
535b0484 | 2166 | (alloc_scalar_allocatable_for_assignment): Use the string_length |
2167 | as computed by gfc_conv_expr and not the statically backend_decl | |
2168 | which may be incorrect when ref-ing. | |
2169 | (gfc_trans_assignment_1): Use the string_length variable and | |
2170 | not the rse.string_length. The former has been computed more | |
2171 | generally. | |
2172 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new | |
2173 | function name for getting a class' vtab's field. | |
2174 | (gfc_conv_intrinsic_storage_size): Likewise. | |
2175 | (gfc_conv_intrinsic_transfer): Likewise. | |
2176 | * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate | |
2177 | source=expr3 only once before the loop over the objects to | |
2178 | allocate, when the objects are not arrays. Doing correct _len | |
2179 | initialization and calling of vptr->copy () fixing PR 64787. | |
2180 | (gfc_trans_deallocate): Reseting _len to 0, preventing future | |
2181 | errors. | |
2182 | * trans.c (gfc_build_array_ref): Switch to new function name | |
2183 | for getting a class' vtab's field. | |
2184 | (gfc_add_comp_finalizer_call): Likewise. | |
2185 | * trans.h: Define the prototypes for the gfc_class_vtab_*_get () | |
2186 | and gfc_vptr_*_get () functions. | |
2187 | Added gfc_find_and_cut_at_last_class_ref () and | |
2188 | gfc_reset_len () routine prototype. Added flag to | |
2189 | gfc_copy_class_to_class () prototype to signal an unlimited | |
01b65dcf | 2190 | polymorphic entity to copy. |
535b0484 | 2191 | |
629150f9 | 2192 | 2015-03-24 Iain Sandoe <iain@codesourcery.com> |
2193 | Tobias Burnus <burnus@net-b.de> | |
2194 | ||
2195 | * gfortran.texi (_gfortran_caf_sync_memory): Improve wording. | |
2196 | ||
9e578cf5 | 2197 | 2015-03-23 Paul Thomas <pault@gcc.gnu.org> |
2198 | Mikael Morin <mikael@gcc.gnu.org> | |
2199 | ||
2200 | PR fortran/64952 | |
2201 | * gfortran.h (struct symbol_attribute) : New field | |
2202 | 'array_outer_dependency'. | |
2203 | * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'. | |
2204 | * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY. | |
2205 | (attr_bits): Append same value to initializer. | |
2206 | (mio_symbol_attribute): Handle 'array_outer_dependency' attr | |
2207 | in module read and write. | |
2208 | * resolve.c (update_current_proc_outer_array_dependency): New function. | |
2209 | (resolve_function, resolve_call): Add code to update current procedure's | |
2210 | 'array_outer_dependency' attribute. | |
2211 | (resolve_variable): Mark current procedure with attribute | |
2212 | array_outer_dependency if the variable is an array coming from outside | |
2213 | the current namespace. | |
2214 | (resolve_fl_procedure): Mark a procedure without body with attribute | |
2215 | 'array_outer_dependency'. | |
2216 | * trans-array.c (gfc_conv_resolve_dependencies): If any ss is | |
2217 | marked as 'array_outer_dependency' generate a temporary. | |
2218 | (gfc_walk_function_expr): If the function may reference external arrays, | |
2219 | mark the head gfc_ss with flag 'array_outer_dependency'. | |
2220 | ||
2097ec5e | 2221 | 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2222 | ||
2223 | PR libgfortran/59513 | |
2224 | * gfortran.texi (Read/Write after EOF marker): New information. | |
2225 | ||
7b47ea66 | 2226 | 2015-03-21 H.J. Lu <hongjiu.lu@intel.com> |
2227 | ||
2228 | * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one | |
2229 | line. | |
2230 | ||
3c4e1899 | 2231 | 2015-03-21 Tobias Burnus <burnus@net-b.de> |
2232 | ||
2233 | * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images, | |
2234 | _gfortran_caf_sync_memory, _gfortran_caf_error_stop, | |
2235 | _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define, | |
2236 | _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas, | |
2237 | _gfortran_caf_atomic_op): New sections. | |
2238 | ||
777bb2ed | 2239 | 2015-03-21 Tobias Burnus <burnus@net-b.de> |
2240 | ||
2241 | * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented | |
2242 | coindexed coarray accesses. | |
2243 | ||
63651ed9 | 2244 | 2015-03-17 Paul Thomas <pault@gcc.gnu.org> |
5b861484 | 2245 | |
2246 | PR fortran/59198 | |
2247 | * trans-types.c (gfc_get_derived_type): If an abstract derived | |
2248 | type with procedure pointer components has no other type of | |
2249 | component, return the backend_decl. Otherwise build the | |
2250 | components if any of the non-procedure pointer components have | |
2251 | no backend_decl. | |
2252 | ||
1e0061a8 | 2253 | 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2254 | ||
2255 | PR fortran/64432 | |
2256 | *trans-intrinisic.c (conv_intrinsic_system_clock): Check the | |
2257 | smallest kind passed in user arguments and hardcode tesults for | |
2258 | KIND=1 or KIND=2 to indicate no clock available. | |
2259 | ||
1891b4bf | 2260 | 2015-03-16 Andre Vehreschild <vehre@gmx.de> |
2261 | ||
2262 | * resolve.c: Prevent segfault on illegal input. | |
2263 | ||
3ef0f394 | 2264 | 2015-03-14 Mikael Morin <mikael@gcc.gnu.org> |
2265 | ||
2266 | PR fortran/61138 | |
2267 | * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY | |
2268 | field before reusing LSE. | |
2269 | ||
771e2b1c | 2270 | 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org> |
2271 | ||
2272 | PR libfortran/65200 | |
2273 | * gfortran.texi: Document behavior when opening files without | |
2274 | explicit ACTION= specifier. | |
2275 | ||
6cb7d18f | 2276 | 2015-03-10 Paul Thomas <pault@gcc.gnu.org> |
2277 | ||
2278 | PR fortran/65024 | |
2279 | * trans-expr.c (gfc_conv_component_ref): If the component | |
2280 | backend declaration is missing and the derived type symbol is | |
2281 | available in the reference, call gfc_build_derived_type. | |
2282 | ||
71cf3ae6 | 2283 | 2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> |
2284 | Tobias Burnus <burnus@net-b.de> | |
2285 | ||
2286 | * trans.h (caf_sync_memory): New function decl tree. | |
2287 | * trans-decl.c (gfc_build_builtin_function_decls): Define it. | |
2288 | (create_main_function): Don't call sync_synchronize and leave | |
2289 | it to the CAF library. | |
2290 | * trans-stmt.c (gfc_trans_stop): Ditto. | |
2291 | (gfc_trans_sync): Ditto; add call library call for sync memory. | |
2292 | ||
7f885126 | 2293 | 2015-03-08 Mikael Morin <mikael@gcc.gnu.org> |
2294 | ||
2295 | PR fortran/60898 | |
2296 | * resolve.c (resolve_symbol): Check that the symbol found by | |
2297 | name lookup really is the current symbol being resolved. | |
2298 | ||
4ed3f3fd | 2299 | 2015-03-02 Tobias Burnus <burnus@net-b.de> |
2300 | ||
2301 | * check.c (gfc_check_atomic): Properly check for coarrayness | |
2302 | and for being coindexed. | |
2303 | ||
7627f837 | 2304 | 2015-02-26 Martin Liska <mliska@suse.cz> |
2305 | ||
2306 | * resolve.c: Rename enum 'comparison' to 'compare_result' as | |
2307 | solution for -Wodr issue. | |
2308 | ||
6349b8cc | 2309 | 2015-02-24 Thomas Schwinge <thomas@codesourcery.com> |
2310 | ||
2311 | PR libgomp/64625 | |
2312 | * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): | |
2313 | Remove macros. | |
2314 | (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. | |
2315 | * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
2316 | (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
2317 | Remove function types. | |
2318 | (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) | |
2319 | (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
2320 | (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
2321 | New function types. | |
2322 | ||
e0eaf973 | 2323 | 2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de> |
2324 | ||
2325 | PR fortran/64980 | |
2326 | PR fortran/61960 | |
2327 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping | |
2328 | for component references to class objects. | |
2329 | (gfc_conv_procedure_call): Compare the class by name. | |
2330 | ||
af40178a | 2331 | 2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2332 | ||
2333 | PR fortran/64506 | |
2334 | * scanner.c (gfc_next_char_literal): For free form source, | |
2335 | check for '!' and if found, clear the comment and go back | |
2336 | and get the next character. For fixed form source, skip the | |
2337 | rest of the line. | |
2338 | ||
38ef99c9 | 2339 | 2015-02-12 Paul Thomas <pault@gcc.gnu.org> |
2340 | ||
2341 | PR fortran/64932 | |
2342 | * trans-stmt.c (gfc_trans_deallocate): If a component array | |
2343 | expression is not a descriptor type and it is a derived type | |
2344 | that has allocatable components and is not finalizable, then | |
2345 | deallocate the allocatable components. | |
2346 | ||
135f23d5 | 2347 | 2015-02-08 Mikael Morin <mikael@gcc.gnu.org> |
2348 | ||
2349 | PR fortran/63744 | |
2350 | * module.c (check_for_ambiguous): Change argument type | |
2351 | from gfc_symbol to gfc_symtree. Check local (symtree) name | |
2352 | instead of original (symbol) name. | |
2353 | (read_module): Update caller. | |
2354 | ||
8ce60dbb | 2355 | 2015-02-06 Paul Thomas <pault@gcc.gnu.org> |
2356 | ||
2357 | PR fortran/63205 | |
2358 | * gfortran.h: Add 'must finalize' field to gfc_expr and | |
2359 | prototypes for gfc_is_alloc_class_scalar_function and for | |
2360 | gfc_is_alloc_class_array_function. | |
2361 | * expr.c (gfc_is_alloc_class_scalar_function, | |
2362 | gfc_is_alloc_class_array_function): New functions. | |
2363 | * trans-array.c (gfc_add_loop_ss_code): Do not move the | |
2364 | expression for allocatable class scalar functions outside the | |
2365 | loop. | |
2366 | (conv_array_index_offset): Cope with deltas being NULL_TREE. | |
2367 | (build_class_array_ref): Do not return with allocatable class | |
2368 | array functions. Add code to pick out the returned class array. | |
2369 | Dereference if necessary and return if not a class object. | |
2370 | (gfc_conv_scalarized_array_ref): Cope with offsets being NULL. | |
2371 | (gfc_walk_function_expr): Return an array ss for the result of | |
2372 | an allocatable class array function. | |
2373 | * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert | |
2374 | that the argument should be a variable. If an allocatable class | |
2375 | array function, set the offset to zero and skip the write-out | |
2376 | loop in this case. | |
2377 | (gfc_conv_procedure_call): Add allocatable class array function | |
2378 | to the assert. Call gfc_conv_subref_array_arg for allocatable | |
2379 | class array function arguments with derived type formal arg.. | |
2380 | Add the code for handling allocatable class functions, including | |
2381 | finalization calls to prevent memory leaks. | |
2382 | (arrayfunc_assign_needs_temporary): Return if an allocatable | |
2383 | class array function. | |
2384 | (gfc_trans_assignment_1): Set must_finalize to rhs expression | |
2385 | for allocatable class functions. Set scalar_to_array as needed | |
2386 | for scalar class allocatable functions assigned to an array. | |
2387 | Nullify the allocatable components corresponding the the lhs | |
2388 | derived type so that the finalization does not free them. | |
07fb3232 | 2389 | |
8ce60dbb | 2390 | 2015-01-29 Andre Vehreschild <vehre@gmx.de> |
2391 | Janus Weil <janus@gcc.gnu.org> | |
07fb3232 | 2392 | |
2393 | PR fortran/60289 | |
2394 | Initial patch by Janus Weil | |
8ce60dbb | 2395 | * resolve.c (resolve_allocate_expr): Add check for comp. only |
2396 | when target is not unlimited polymorphic. | |
2397 | * trans-stmt.c (gfc_trans_allocate): Assign correct value to | |
2398 | _len component of unlimited polymorphic entities. | |
07fb3232 | 2399 | |
303b9531 | 2400 | 2015-02-05 Tobias Burnus <burnus@net-b.de> |
2401 | ||
2402 | PR fortran/64943 | |
2403 | * resolve.c (resolve_transfer): Also check structure | |
2404 | constructors. | |
2405 | ||
0b373205 | 2406 | 2015-02-05 Paul Thomas <pault@gcc.gnu.org> |
2407 | ||
9c92fb5c | 2408 | PR fortran/64757 |
0b373205 | 2409 | * resolve.c (resolve_structure_cons): Obtain the rank of class |
2410 | components. | |
2411 | * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the | |
2412 | assignment to allocatable class array components. | |
2413 | (alloc_scalar_allocatable_for_subcomponent_assignment): If comp | |
2414 | is a class component, allocate to the _data field. | |
2415 | (gfc_trans_subcomponent_assign): If a class component with a | |
2416 | derived type expression set the _vptr field and for array | |
2417 | components, call gfc_trans_alloc_subarray_assign. For scalars, | |
2418 | the assignment is performed here. | |
2419 | ||
f36f9b8b | 2420 | 2015-02-04 Jakub Jelinek <jakub@redhat.com> |
2421 | ||
2422 | * options.c: Include langhooks.h. | |
2423 | (gfc_post_options): Change lang_hooks.name based on | |
2424 | selected -std= mode. | |
2425 | ||
b821472d | 2426 | 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org> |
2427 | ||
2428 | * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1. | |
9606162b | 2429 | |
2430 | 2015-01-30 Andre Vehreschild <vehre@gmx.de> | |
2431 | ||
2432 | * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code. | |
2433 | * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation. | |
2434 | Fixed datatype of charlen to be a 32-bit int. | |
2435 | ||
6f521718 | 2436 | 2015-02-01 Joseph Myers <joseph@codesourcery.com> |
2437 | ||
2438 | * error.c (gfc_warning (const char *, ...), gfc_warning_now (const | |
2439 | char *, ...)): Remove functions. | |
2440 | * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now | |
2441 | (const char *, ...)): Remove declarations. | |
2442 | * arith.c, check.c, data.c, decl.c, frontend-passes.c, | |
2443 | interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c, | |
2444 | options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c, | |
2445 | trans-common.c, trans-const.c, trans-stmt.c: All callers of | |
2446 | gfc_warning and gfc_warning_now changed to pass 0 or option number | |
2447 | as first argument. | |
2448 | ||
c05be867 | 2449 | 2015-01-30 Joseph Myers <joseph@codesourcery.com> |
2450 | ||
2451 | * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All | |
2452 | callers of fatal_error changed to pass input_location as first | |
2453 | argument. | |
2454 | ||
95a494fd | 2455 | 2015-01-28 Tobias Burnus <burnus@net-b.de> |
2456 | ||
2457 | * intrinsic.texi (CO_BROADCAST): Correct argument description. | |
2458 | ||
d11808f8 | 2459 | 2015-01-27 Tobias Burnus <burnus@net-b.de> |
2460 | ||
2461 | PR fortran/63861 | |
2462 | * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses): | |
2463 | Fix handling for scalar coarrays. | |
2464 | * trans-types.c (gfc_get_element_type): Add comment. | |
2465 | ||
0480ded1 | 2466 | 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
2467 | ||
2468 | PR fortran/64771 | |
2469 | * interface.c: Remove <algorithm>. | |
2470 | (check_dummy_characteristics): Use MAX instead of std::max. | |
2471 | ||
82d867c8 | 2472 | 2015-01-26 Paul Thomas <pault@gcc.gnu.org> |
2473 | ||
2474 | PR fortran/62044 | |
2475 | * resolve.c (resolve_allocate_expr): If the default initializer | |
2476 | is NULL, keep the original MOLD expression so that the correct | |
2477 | typespec is available. | |
2478 | ||
1b4c7a08 | 2479 | 2015-01-26 Tobias Burnus <burnus@net-b.de> |
2480 | ||
2481 | PR fortran/64771 | |
2482 | * interface.c (check_dummy_characteristics): Fix coarray handling. | |
2483 | ||
194f8250 | 2484 | 2015-01-26 Tobias Burnus <burnus@net-b.de> |
2485 | ||
2486 | * io.c (gfc_match_inquire): Replace "-1" by a defined constant. | |
2487 | ||
ae6b205f | 2488 | 2015-01-26 Janus Weil <janus@gcc.gnu.org> |
2489 | ||
2490 | PR fortran/64230 | |
2491 | * class.c (finalize_component): New argument 'sub_ns'. Insert code to | |
2492 | check if 'expr' is associated. | |
2493 | (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and | |
2494 | 'ptr2'. Pass 'sub_ns' to finalize_component. | |
2495 | ||
f745cbce | 2496 | 2015-01-25 Mikael Morin <mikael@gcc.gnu.org> |
2497 | ||
2498 | PR fortran/62044 | |
2499 | * decl.c (gfc_match_derived_decl): Don't insert a new symtree element. | |
2500 | * module.c (MOD_VERSION): Bump. | |
2501 | (write_module): Don't write list of extensions. | |
2502 | (read_module): Don't jump over list of extensions; | |
2503 | don't load list of extensions. | |
2504 | (load_derived_extensions, write_dt_extensions, | |
2505 | write_derived_extensions): Remove. | |
2506 | ||
da9fc492 | 2507 | 2015-01-24 Tobias Burnus <burnus@net-b.de> |
2508 | ||
2509 | * parse.c (gfc_parse_file): Fix two-location gfc_error call. | |
2510 | ||
75e5ecf3 | 2511 | 2015-01-23 Martin Liska <mliska@suse.cz> |
2512 | ||
2513 | * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized | |
2514 | false positive during profiledbootstrap by initializing them. | |
2515 | * matchexp.c (match_mult_operand): Likewise. | |
2516 | * module.c (write_atom): Likewise. | |
2517 | (read_module): Likewise. | |
2518 | ||
85977647 | 2519 | 2015-01-23 Tom de Vries <tom@codesourcery.com> |
2520 | ||
2521 | PR libgomp/64672 | |
2522 | * lang.opt (fopenacc): Mark as LTO option. | |
2523 | ||
fa175926 | 2524 | 2015-01-23 Tom de Vries <tom@codesourcery.com> |
2525 | ||
2526 | PR libgomp/64707 | |
2527 | * lang.opt (fopenmp): Mark as LTO option. | |
845a9546 | 2528 | |
2529 | 2015-01-23 Andre Vehreschild <vehre@gmx.de> | |
2530 | ||
2531 | * trans-decl.c (gfc_finish_var_decl): Fixed moved comment. | |
2532 | * trans-stmt.c (gfc_trans_allocate): Fixed indentation. | |
2533 | ||
9d7131bf | 2534 | 2015-01-23 Jakub Jelinek <jakub@redhat.com> |
2535 | ||
2536 | * gfc-diagnostic.def (DK_ICE_NOBT): New kind. | |
2537 | ||
c09566df | 2538 | 2015-01-23 Janus Weil <janus@gcc.gnu.org> |
2539 | ||
2540 | PR fortran/60922 | |
2541 | * class.c (finalize_component): Apply the check for 'fini_coarray' only | |
2542 | to coarray components. | |
2543 | ||
37ece3a2 | 2544 | 2015-01-23 Tobias Burnus <burnus@net-b.de> |
2545 | ||
2546 | PR fortran/64726 | |
2547 | * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix | |
2548 | loop generation. | |
2549 | ||
f26dc717 | 2550 | 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2551 | ||
2552 | PR fortran/61933 | |
2553 | * libgfortran.h: | |
2554 | * trans-io.c (set_parameter_value): Delete use of has_iostat. | |
2555 | Redefine to not generate any runtime error check calls. | |
2556 | (set_parameter_value_chk): Rename of the former | |
2557 | set_parameter_value with the runtime error checks and fix | |
2558 | whitespace. (set_parameter_value_inquire): New function that | |
2559 | builds a runtime conditional block to set the INQUIRE | |
2560 | common parameter block unit number to -2 when unit numbers | |
2561 | exceed positive KIND=4 limits. (gfc_trans_open): Whitespace. | |
2562 | For unit, use the renamed set_parameter_value_chk. | |
2563 | (gfc_trans_close): Likewise use renamed function. | |
2564 | (build_filepos): Whitespace and use renamed function. | |
2565 | (gfc_trans_inquire): Whitespace and for unit use | |
2566 | set_parameter_value and set_parameter_value_inquire. | |
2567 | (gfc_trans_wait): Remove p->iostat from call to | |
2568 | set_parameter_value. Use new set_parameter_value_chk for unit. | |
2569 | (build_dt): Use the new set_parameter_value without p->iostat | |
2570 | and fix whitespace. Use set_parameter_value_chk for unit. | |
2571 | ||
2c9c0c1f | 2572 | 2015-01-21 Thomas Koenig <tkoenig@netcologne.de> |
2573 | ||
2574 | PR fortran/57023 | |
2575 | * dependency.c (callback_dummy_intent_not_int): New function. | |
2576 | (dummy_intent_not_in): New function. | |
2577 | (gfc_full_array_ref_p): Use dummy_intent_not_in. | |
2578 | ||
53ec6b3f | 2579 | 2015-01-18 Andre Vehreschild <vehre@gmx.de> |
2580 | Janus Weil <janus@gcc.gnu.org> | |
2581 | ||
2582 | PR fortran/60255 | |
2583 | * class.c (gfc_get_len_component): New. | |
2584 | (gfc_build_class_symbol): Add _len component to unlimited | |
2585 | polymorphic entities. | |
2586 | (find_intrinsic_vtab): Removed emitting of error message. | |
2587 | * gfortran.h: Added prototype for gfc_get_len_component. | |
2588 | * simplify.c (gfc_simplify_len): Use _len component where | |
2589 | available. | |
2590 | * trans-expr.c (gfc_class_len_get): New. | |
2591 | (gfc_conv_intrinsic_to_class): Add handling for deferred | |
2592 | character arrays. | |
2593 | (gfc_conv_structure): Treat _len component correctly. | |
2594 | (gfc_conv_expr): Prevent bind_c handling when not required. | |
2595 | (gfc_trans_pointer_assignment): Propagate _len component. | |
2596 | * trans-stmt.c (class_has_len_component): New. | |
2597 | (trans_associate_var): _len component treatment for associate | |
2598 | context. | |
2599 | (gfc_trans_allocate): Same as for trans_associate_var() | |
2600 | * trans.h: Added prototype for gfc_class_len_get. | |
2601 | ||
a3de0f07 | 2602 | 2015-01-18 Paul Thomas <pault@gcc.gnu.org> |
2603 | ||
6b8169f7 | 2604 | PR fortran/57959 |
a3de0f07 | 2605 | * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy |
2606 | for allocatable components, where the source is a variable. | |
2607 | ||
c3639856 | 2608 | 2015-01-18 Paul Thomas <pault@gcc.gnu.org> |
2609 | ||
2610 | PR fortran/55901 | |
2611 | * primary.c (gfc_match_varspec): Exclude dangling associate- | |
2612 | names with dimension 0 from being counted as arrays. | |
2613 | * resolve.c (resolve_assoc_var): Sub-strings are permissible | |
2614 | for associate-names, so exclude characters from the test for | |
2615 | misuse as arrays. | |
2616 | * trans-decl.c (gfc_get_symbol_decl): Associate-names can use | |
2617 | the hidden string length variable of their associated target. | |
2618 | Signal this by setting 'length' to a constant, if the decl for | |
2619 | the string length is a variable. | |
2620 | ||
411ee1e5 | 2621 | 2015-01-17 Paul Thomas <pault@gcc.gnu.org> |
2622 | ||
2623 | PR fortran/64578 | |
2624 | * trans-expr.c (gfc_trans_pointer_assignment): Make sure that | |
2625 | before reinitializing rse, to add the rse.pre to block before | |
2626 | creating 'ptrtemp'. | |
2627 | * trans-intrinsic.c (gfc_conv_associated): Deal with the class | |
2628 | data being a descriptor. | |
2629 | ||
50e7673a | 2630 | 2015-01-17 Andre Vehreschild <vehre@gmx.de> |
2631 | ||
2632 | PR fortran/60357 | |
2633 | * primary.c (build_actual_constructor): Prevent warning. | |
2634 | * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_ | |
2635 | assignment): New function encapsulates treatment of allocatable | |
2636 | components. | |
2637 | (gfc_trans_subcomponent_assign): Needed to distinguish between | |
2638 | regular assignment and initilization. | |
2639 | (gfc_trans_structure_assign): Same. | |
2640 | (gfc_conv_structure): Same. | |
2641 | ||
2642 | PR fortran/61275 | |
2643 | * gfortran.h: deferred_parameter is not needed, because | |
2644 | it artificial does the trick completely. | |
2645 | * primary.c (build_actual_constructor): Same. | |
2646 | (gfc_convert_to_structure_constructor): Same. | |
2647 | * resolve.c (resolve_fl_derived0): Same. | |
2648 | * trans-expr.c (gfc_conv_component_ref): Prevent treating | |
2649 | allocatable deferred length char arrays here. | |
2650 | (gfc_trans_subcomponent_assign): Same as above. | |
2651 | * trans-types.c (gfc_sym_type): This is done in | |
2652 | gfc_get_derived_type already. | |
2653 | ||
d1b1479f | 2654 | 2015-01-17 Andre Vehreschild <vehre@gmx.de> |
2655 | ||
2656 | PR fortran/60334 | |
2657 | * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string | |
2658 | length when the symbol is declared to be a result. | |
2659 | * trans-expr.c (gfc_conv_procedure_call): Strip deref on the | |
2660 | string length when functions are nested and the string length | |
2661 | is a reference already. | |
2662 | ||
7c94d8e5 | 2663 | 2015-01-16 Janus Weil <janus@gcc.gnu.org> |
2664 | ||
2665 | PR fortran/45290 | |
2666 | * decl.c (match_pointer_init): Error out if resolution of init expr | |
2667 | failed. | |
2668 | ||
fec37142 | 2669 | 2015-01-15 Tobias Burnus <burnus@net-b.de> |
2670 | ||
2671 | * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses, | |
2672 | resolve_oacc_deviceptr_clause, resolve_omp_clauses, | |
2673 | gfc_resolve_oacc_declare): Replace '%s' by %qs. | |
2674 | ||
ca4c3545 | 2675 | 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> |
2676 | Cesar Philippidis <cesar@codesourcery.com> | |
2677 | James Norris <jnorris@codesourcery.com> | |
2678 | Ilmir Usmanov <i.usmanov@samsung.com> | |
2679 | Tobias Burnus <burnus@net-b.de> | |
2680 | ||
2681 | * lang.opt (fopenacc): New option. | |
2682 | * cpp.c (cpp_define_builtins): Conditionally define _OPENACC. | |
2683 | * dump-parse-tree.c (show_omp_node): Split part of it into... | |
2684 | (show_omp_clauses): ... this new function. | |
2685 | (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP, | |
2686 | EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, | |
2687 | EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, | |
2688 | EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, | |
2689 | EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. | |
2690 | (show_namespace): Update for OpenACC. | |
2691 | * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8) | |
2692 | (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN) | |
2693 | (DEF_GOACC_BUILTIN_COMPILER): New macros. | |
2694 | * types.def (BT_FN_VOID_INT_INT_VAR) | |
2695 | (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
2696 | (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
2697 | New function types. | |
2698 | * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP, | |
2699 | ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL, | |
2700 | ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA, | |
2701 | ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, | |
2702 | ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, | |
2703 | ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP, | |
2704 | ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA, | |
2705 | ST_OACC_ROUTINE. | |
2706 | (struct gfc_expr_list): New data type. | |
2707 | (gfc_get_expr_list): New macro. | |
2708 | (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC, | |
2709 | OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM, | |
2710 | OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR. | |
2711 | (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE) | |
2712 | (OMP_LIST_CACHE): New enumerators. | |
2713 | (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr, | |
2714 | vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr, | |
2715 | wait_list, tile_list, async, gang, worker, vector, seq, | |
2716 | independent, wait, par_auto, gang_static, and loc members. | |
2717 | (struct gfc_namespace): Add oacc_declare_clauses member. | |
2718 | (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP, | |
2719 | EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS, | |
2720 | EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, | |
2721 | EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, | |
2722 | EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. | |
2723 | (gfc_free_expr_list, gfc_resolve_oacc_directive) | |
2724 | (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks) | |
2725 | (gfc_resolve_oacc_blocks): New prototypes. | |
2726 | * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and | |
2727 | EXEC_OACC_PARALLEL_LOOP. | |
2728 | * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait) | |
2729 | (gfc_match_oacc_update, gfc_match_oacc_declare) | |
2730 | (gfc_match_oacc_loop, gfc_match_oacc_host_data) | |
2731 | (gfc_match_oacc_data, gfc_match_oacc_kernels) | |
2732 | (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel) | |
2733 | (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data) | |
2734 | (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New | |
2735 | prototypes. | |
2736 | * openmp.c: Include "diagnostic.h" and "gomp-constants.h". | |
2737 | (gfc_free_omp_clauses): Update for members added to struct | |
2738 | gfc_omp_clauses. | |
2739 | (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add | |
2740 | openacc parameter. | |
2741 | (resolve_omp_clauses): Add openacc parameter. Update for OpenACC. | |
2742 | (struct fortran_omp_context): Add is_openmp member. | |
2743 | (gfc_resolve_omp_parallel_blocks): Initialize it. | |
2744 | (gfc_resolve_do_iterator): Update for OpenACC. | |
2745 | (gfc_resolve_omp_directive): Call | |
2746 | resolve_omp_directive_inside_oacc_region. | |
2747 | (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE) | |
2748 | (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE) | |
2749 | (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION) | |
2750 | (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE) | |
2751 | (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE) | |
2752 | (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE) | |
2753 | (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH) | |
2754 | (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND) | |
2755 | (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM) | |
2756 | (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO) | |
2757 | (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT) | |
2758 | (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t. | |
2759 | (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS) | |
2760 | (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT) | |
2761 | (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT) | |
2762 | (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN) | |
2763 | (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE) | |
2764 | (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER) | |
2765 | (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT) | |
2766 | (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT) | |
2767 | (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT) | |
2768 | (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros. | |
2769 | (gfc_match_omp_clauses): Handle those. | |
2770 | (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES) | |
2771 | (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES) | |
2772 | (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES) | |
2773 | (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES) | |
2774 | (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES) | |
2775 | (OACC_WAIT_CLAUSES): New macros. | |
2776 | (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang) | |
2777 | (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop) | |
2778 | (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop) | |
2779 | (gfc_match_oacc_kernels, gfc_match_oacc_data) | |
2780 | (gfc_match_oacc_host_data, gfc_match_oacc_loop) | |
2781 | (gfc_match_oacc_declare, gfc_match_oacc_update) | |
2782 | (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data) | |
2783 | (gfc_match_oacc_wait, gfc_match_oacc_cache) | |
2784 | (gfc_match_oacc_routine, oacc_is_loop) | |
2785 | (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr) | |
2786 | (check_symbol_not_pointer, check_array_not_assumed) | |
2787 | (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause) | |
2788 | (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels) | |
2789 | (omp_code_to_statement, oacc_code_to_statement) | |
2790 | (resolve_oacc_directive_inside_omp_region) | |
2791 | (resolve_omp_directive_inside_oacc_region) | |
2792 | (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel) | |
2793 | (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks) | |
2794 | (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare) | |
2795 | (gfc_resolve_oacc_directive): New functions. | |
2796 | * parse.c (next_free): Update for OpenACC. Move some code into... | |
2797 | (verify_token_free): ... this new function. | |
2798 | (next_fixed): Update for OpenACC. Move some code into... | |
2799 | (verify_token_fixed): ... this new function. | |
2800 | (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT, | |
2801 | ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA. | |
2802 | (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL, | |
2803 | ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP, | |
2804 | ST_OACC_KERNELS_LOOP. | |
2805 | (case_decl): Add ST_OACC_ROUTINE. | |
2806 | (push_state, parse_critical_block, parse_progunit): Update for | |
2807 | OpenACC. | |
2808 | (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP, | |
2809 | ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL, | |
2810 | ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP, | |
2811 | ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA, | |
2812 | ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP, | |
2813 | ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT, | |
2814 | ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA, | |
2815 | ST_OACC_ROUTINE. | |
2816 | (verify_st_order, parse_spec): Handle ST_OACC_DECLARE. | |
2817 | (parse_executable): Handle ST_OACC_PARALLEL_LOOP, | |
2818 | ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL, | |
2819 | ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA. | |
2820 | (decode_oacc_directive, parse_oacc_structured_block) | |
2821 | (parse_oacc_loop, is_oacc): New functions. | |
2822 | * parse.h (struct gfc_state_data): Add oacc_declare_clauses | |
2823 | member. | |
2824 | (is_oacc): New prototype. | |
2825 | * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle | |
2826 | EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, | |
2827 | EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA, | |
2828 | EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE, | |
2829 | EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA, | |
2830 | EXEC_OACC_EXIT_DATA. | |
2831 | (resolve_codes): Call gfc_resolve_oacc_declare. | |
2832 | * scanner.c (openacc_flag, openacc_locus): New variables. | |
2833 | (skip_free_comments): Update for OpenACC. Move some code into... | |
2834 | (skip_omp_attribute): ... this new function. | |
2835 | (skip_oacc_attribute): New function. | |
2836 | (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC. | |
2837 | * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP, | |
2838 | EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, | |
2839 | EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, | |
2840 | EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, | |
2841 | EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. | |
2842 | * trans-decl.c (gfc_generate_function_code): Update for OpenACC. | |
2843 | * trans-openmp.c: Include "gomp-constants.h". | |
2844 | (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_* | |
2845 | instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. | |
2846 | (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE, | |
2847 | OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC, | |
2848 | OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, | |
2849 | OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT, | |
2850 | OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq, | |
2851 | independent, wait_list, num_gangs_expr, num_workers_expr, | |
2852 | vector_length_expr, vector, vector_expr, worker, worker_expr, | |
2853 | gang, gang_expr members. | |
2854 | (gfc_trans_omp_do): Handle EXEC_OACC_LOOP. | |
2855 | (gfc_convert_expr_to_tree, gfc_trans_oacc_construct) | |
2856 | (gfc_trans_oacc_executable_directive) | |
2857 | (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive) | |
2858 | (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions. | |
2859 | * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC. | |
2860 | * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare): | |
2861 | New prototypes. | |
2862 | * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT, | |
2863 | EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA, | |
2864 | EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP, | |
2865 | EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA, | |
2866 | EXEC_OACC_EXIT_DATA. | |
2867 | * gfortran.texi: Update for OpenACC. | |
2868 | * intrinsic.texi: Likewise. | |
2869 | * invoke.texi: Likewise. | |
2870 | ||
727e5f14 | 2871 | 2015-01-15 Janus Weil <janus@gcc.gnu.org> |
2872 | ||
2873 | PR fortran/58023 | |
2874 | * resolve.c (resolve_fl_derived0): Continue resolving next component | |
2875 | after error. | |
2876 | ||
579c5597 | 2877 | 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2878 | ||
2879 | PR fortran/61933 | |
2880 | * io.c (gfc_match_inquire): Generate error if unit number in | |
2881 | inquire statement is a constant -1. All other values allowed. | |
2882 | * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable. | |
2883 | (create_dummy_iostat): Delete function no longer used. | |
2884 | ||
5defa6e6 | 2885 | 2015-01-13 Jakub Jelinek <jakub@redhat.com> |
2886 | ||
2887 | PR fortran/64528 | |
2888 | * trans-decl.c (create_function_arglist): Don't set TREE_READONLY | |
2889 | on dummy args with VALUE attribute. | |
2890 | ||
4df331b2 | 2891 | 2015-01-11 Janus Weil <janus@gcc.gnu.org> |
2892 | ||
2893 | PR fortran/63733 | |
2894 | * interface.c (gfc_extend_expr): Look for type-bound operators before | |
2895 | non-typebound ones. | |
2896 | ||
ffa1a436 | 2897 | 2015-01-11 Janus Weil <janus@gcc.gnu.org> |
2898 | ||
2899 | PR fortran/58023 | |
2900 | * resolve.c (resolve_fl_derived0): Set error flag if problems with the | |
2901 | interface of a procedure-pointer component were detected. | |
2902 | ||
319b6636 | 2903 | 2015-01-11 Janus Weil <janus@gcc.gnu.org> |
2904 | ||
2905 | PR fortran/64508 | |
2906 | * interface.c (compare_parameter): Interface check for | |
2907 | procedure-pointer component as actual argument. | |
2908 | ||
c35c9a62 | 2909 | 2015-01-10 Thomas Schwinge <thomas@codesourcery.com> |
2910 | ||
2911 | * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP | |
2912 | Runtime Library" to "GNU Offloading and Multi Processing Runtime | |
2913 | Library". | |
2914 | * intrinsic.texi: Likewise. | |
2915 | ||
bf1857ff | 2916 | 2015-01-10 Tobias Burnus <burnus@net-b.de> |
2917 | ||
2918 | PR fortran/64522 | |
2919 | * invoke.texi (Wline-truncation): Document new behaviour. | |
2920 | * lang.opt (Wline-truncation): Add Init(-1). | |
2921 | * options.c (gfc_post_options): If -Wline-truncation is unset, | |
2922 | enable it for free-form source files; for the latter, also use | |
2923 | -Werror=line-truncation, unless -Wno-error has been specified. | |
2924 | ||
1f78217c | 2925 | 2015-01-09 Michael Collison <michael.collison@linaro.org> |
2926 | ||
2927 | * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2928 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2929 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2930 | * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2931 | input.h, alias.h, symtab.h, fold-const.h, | |
2932 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2933 | * decl.c: Ditto. | |
2934 | * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2935 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2936 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2937 | * iresolve.c: Ditto. | |
2938 | * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2939 | input.h, alias.h, symtab.h, fold-const.h, | |
2940 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2941 | * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2942 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2943 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2944 | * options.c: Ditto. | |
2945 | * target-memory.c: Include hash-set.h, vec.h, | |
2946 | double-int.h, input.h, alias.h, symtab.h, fold-const.h, | |
2947 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2948 | * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2949 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2950 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2951 | * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2952 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2953 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2954 | * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2955 | input.h, alias.h, symtab.h, fold-const.h, | |
2956 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2957 | * trans-const.c: Ditto. | |
2958 | * trans-decl.c: Ditto. | |
2959 | * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2960 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2961 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2962 | * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2963 | input.h, alias.h, symtab.h, fold-const.h, | |
2964 | wide-int.h, inchash.h and real.h due to flattening of tree.h. | |
2965 | * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2966 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
2967 | wide-int.h, and inchash.h due to flattening of tree.h. | |
2968 | * trans-openmp.c: Ditto. | |
2969 | * trans-stmt.c: Ditto. | |
2970 | * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
2971 | input.h, alias.h, symtab.h, fold-const.h, | |
2972 | wide-int.h, inchash.h and real.h due to flattening of tree.h. | |
2973 | ||
3adf245a | 2974 | 2015-01-08 Tobias Burnus <burnus@net-b.de> |
2975 | ||
2976 | * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens | |
2977 | for module coarrays with -fcoarray=lib. | |
2978 | (get_proc_pointer_decl): As module variable, make only public | |
2979 | when not marked as private. | |
2980 | ||
8dd9da48 | 2981 | 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
2982 | ||
2983 | PR fortran/47674 | |
2984 | * dependency.h: Actually commit changes. | |
2985 | ||
a03c61f8 | 2986 | 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
2987 | ||
2988 | PR fortran/47674 | |
2989 | * dependency.c: Update copyright years. | |
2990 | (gfc_discard_nops): Add prototype. | |
2991 | * dependency.c (discard_nops): Rename to gfc_discard_nops, | |
2992 | make non-static. | |
2993 | (gfc_discard_nops): Use gfc_discard_nops. | |
2994 | (gfc_dep_difference): Likewise. | |
2995 | * frontend-passes.c Update copyright years. | |
2996 | (realloc_strings): New function. Add prototype. | |
2997 | (gfc_run_passes): Call realloc_strings. | |
2998 | (realloc_string_callback): New function. | |
2999 | (create_var): Add prototype. Handle case of a | |
3000 | scalar character variable. | |
3001 | (optimize_trim): Do not handle allocatable variables. | |
3002 | ||
e3afb61d | 3003 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
3004 | ||
d353bf18 | 3005 | Update copyright years. |
3006 | ||
e3afb61d | 3007 | * gfortranspec.c (lang_specific_driver): Update copyright notice |
3008 | dates. | |
3009 | * gfc-internals.texi: Bump @copying's copyright year. | |
3010 | * gfortran.texi: Ditto. | |
3011 | * intrinsic.texi: Ditto. | |
3012 | * invoke.texi: Ditto. | |
3013 | ||
9e1d7062 | 3014 | 2015-01-02 Janus Weil <janus@gcc.gnu.org> |
3015 | ||
3016 | PR fortran/57562 | |
3017 | * expr.c (find_component_ref): Deal with extended types. | |
3018 | ||
ac36faf0 | 3019 | 2015-01-02 Tobias Burnus <burnus@net-b.de> |
3020 | ||
3021 | * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens | |
3022 | for module coarrays with -fcoarray=lib. | |
3023 | ||
23d48c05 | 3024 | 2015-01-02 Janus Weil <janus@gcc.gnu.org> |
4c7093c2 | 3025 | |
23d48c05 | 3026 | PR fortran/60507 |
3027 | * interface.c (is_procptr_result): New function to check if an | |
3028 | expression is a procedure-pointer result. | |
3029 | (compare_actual_formal): Use it. | |
71a1e0b3 | 3030 | ^L |
ac36faf0 | 3031 | Copyright (C) 2015 Free Software Foundation, Inc. |
7dfbd804 | 3032 | |
3033 | Copying and distribution of this file, with or without modification, | |
3034 | are permitted in any medium without royalty provided the copyright | |
3035 | notice and this notice are preserved. |