annotate gcc/fortran/ChangeLog-2015 @ 158:494b0b89df80 default tip

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