aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
blob: 55c5ecedf92a00dc1d6434f32e02e17f265abd19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
	    Tobias Burnus  <burnus@net-b.de>

	PR libfortran/29649
	* gfortran.h (gfc_option_t): Add flag_dump_core.
	* lang.opt: Add -fdump-core option.
	* invoke.texi: Document the new options.
	* trans-decl.c (gfc_build_builtin_function_decls): Add new
	  options to the call to set_std.
	* options.c (gfc_init_options, gfc_handle_option): Set the
	  new options.

2007-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30476
	* module.c (load_generic_interfaces): Make the marking of the
	symbol as ambiguous conditional on the module names being
	different.
	(write_generic): Ensure that the generic interface has a
	non-NULL module field.

2007-01-16  Roger Sayle  <roger@eyesopen.com>

	PR fortran/30404
	* trans-stmt.c (forall_info): Remove pmask field.
	(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
	NVAR covers all the interation variables in the current forall_info.
	Add an extra OUTER parameter, which specified the loop header in
	which to place mask index initializations.
	(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
	Change the semantics of MASK_FLAG to only control the mask in the
	innermost loop.
	(compute_overall_iter_number): Optimize the trivial case of a
	top-level loop having a constant number of iterations.  Update
	call to gfc_trans_nested_forall_loop.  Calculate the number of
	times the inner loop will be executed, not to size of the 
	iteration space.
	(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
	sizeof(type) == 1.  Tidy up.
	(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
	to gfc_trans_nested_forall_loop.
	(gfc_trans_pointer_assign_need_temp): Likewise.
	(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
	LENVAR local variables.  Split mask allocation into a separate
	hunk/pass from mask population.  Use allocate_temp_for_forall_nest
	to allocate the FORALL mask with the correct size.  Update calls
	to gfc_trans_nested_forall_loop.
	(gfc_evaluate_where_mask): Update call to
	gfc_trans_nested_forall_loop.
	(gfc_trans_where_2): Likewise.

2007-01-15  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/28172
	* trans-stmt.c (gfc_trans_call): If it does not have one, get
	a backend_decl for an alternate return.

	PR fortran/29389
	* resolve.c (pure_function): Statement functions are pure. Note
	that this will have to recurse to comply fully with F95.

	PR fortran/29712
	* resolve.c (resolve_function): Only a reference to the final
	dimension of an assumed size array is an error in an inquiry
	function.

	PR fortran/30283
	* resolve.c (resolve_function): Make sure that the function
	expression has a type.

2007-01-14  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30410
	* trans-decl.c (gfc_sym_mangled_function_id): Module, external
	symbols must not have the module name prepended.

2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30415
	* iresolve.c (gfc_resolve_maxloc):  If the rank
	of the return array is nonzero and we process an
	integer array smaller than default kind, coerce
	the array to default integer.
	* iresolve.c (gfc_resolve_minloc):  Likewise.

2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>

	* simplify.c: Update copyright to 2007.
	* scanner.c: Same.

2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30430
	* scanner.c (gfc_release_include_path): Free gfc_option.module_dir
	only once!

2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>

	* simplify.c (gfc_simplify_ibclr): Fix POS comparison.
	(gfc_simplify_ibset): Same.

2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30381
	PR 30420
	* simplify.c (convert_mpz_to_unsigned): New function.
	(convert_mpz_to_signed): New function, largely based on
	twos_complement().
	(twos_complement): Removed.
	(gfc_simplify_ibclr): Add conversions to and from an
	unsigned representation before bit-twiddling.
	(gfc_simplify_ibset): Same.
	(gfc_simplify_ishftc): Add checks for overly large
	constant arguments, only check the third argument if
	it's present, carry over high bits into	the result as
	appropriate, and perform the final conversion back to
	a signed representation using the correct sign bit.
	(gfc_simplify_not): Removed unnecessary masking.

2007-01-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30408
	* resolve.c (resolve_code): Use the code->expr character length
	directly to set length of llen.

2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30408
	* lang.opt: Add Wcharacter_truncation option.
	* options.c (gfc_init_options): Initialize
	gfc_option.warn_character_truncation to zero.
	(gfc_handle_option): Add case for OPT_Wcharacter_truncation.

2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	* interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
	iresolve.c, match.c:  Update Copyright years.  Whitespace.

2007-01-08  Richard Guenther  <rguenther@suse.de>

	* trans-io.c (transfer_array_desc): Use build_int_cst instead
	of build_int_cstu.

2007-01-08  Roger Sayle  <roger@eyesopen.com>

	* trans-array.c (constant_array_constructor_p): New function to
	determine whether an array constructor consists only of constant
	elements, and if so return it's size.
	(gfc_build_constant_array_constructor): Construct a statically
	initialized gfortran array for a given EXPR_ARRAY.
	(gfc_trans_constant_array_constructor): Efficiently scalarize
	a constant array constructor.
	(gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
	Special case scalarization of constant array constructors, all of
	whose elements are specified, using constant_array_constructor_p 
	and gfc_trans_constant_array_constructor.
	(gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
	before adding it to index, to avoid creating a NON_LVALUE_EXPR.

2007-01-08  Kazu Hirata  <kazu@codesourcery.com>

	gfortran.texi: Fix typos.

2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	* decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
	convert.c:  Update Copyright dates.  Fix whitespace.

2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>

	* data.c (gfc_assign_data_value): Fix whitespace.

2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>

	* trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
	Commentary typo fix.

2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>

	PR fortran/27698
	* match.c (gfc_match_name): Print diagnostics for invalid
	character in names.

2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	* array.c: Fix whitespace in comment table.

2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	* array.c, bbt.c, check.c:  Update copyright years.  Whitespace.

2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	* arith.c: Update copyright years.  Whitespace.

2007-01-05  Roger Sayle  <roger@eyesopen.com>

	* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
	array assignments split out from gfc_trans_assignment.
	(gfc_trans_array_copy): New function to implement array to array
	copies via calls to __builtin_memcpy.
	(copyable_array_p): New helper function to identify an array of
	simple/POD types, that may be copied/assigned using memcpy.
	(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
	whole array assignments considered suitable by copyable_array_p.
	Invoke gfc_trans_assignment_1 to perform the fallback scalarization.

2007-01-05  Roger Sayle  <roger@eyesopen.com>

	* trans-array.c (gfc_trans_array_constructor_value): Make the
	static const "data" array as TREE_READONLY.
	* trans-stmt.c (gfc_trans_character_select): Likewise.

2007-01-05  Roger Sayle  <roger@eyesopen.com>

	* trans-array.c (gfc_conv_loop_setup):  Test whether the loop
	stride is one, to avoid fold_build2 introducing a useless
	NON_LVALUE_EXPR node.

2007-01-05  Tobias Burnus  <burnus@net-b.de>

	* symbol.c (check_conflict): Fix error message.

2007-01-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23232
	* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
	functions to signal that a DATA statement is being matched.
	(gfc_match_data): Call gfc_set_in_match_data on entry and on
	exit.
	* gfortran.h : Add prototypes for above.
	* expr.c (check_init_expr): Avoid check on parameter or
	variable if gfc_in_match_data is true.
	(gfc_match_init_expr): Do not call error on non-reduction of
	expression if gfc_in_match_data is true.

	PR fortran/27996
	PR fortran/27998
	* decl.c (gfc_set_constant_character_len): Add boolean arg to
	flag array constructor resolution.  Warn if string is being
	truncated.  Standard dependent error if string is padded. Set
	new arg to false for all three calls to
	gfc_set_constant_character_len.
	* match.h : Add boolean arg to prototype for
	gfc_set_constant_character_len.
	* gfortran.h : Add warn_character_truncation to gfc_options.
	* options.c (set_Wall): Set warn_character_truncation if -Wall
	is set.
	* resolve.c (resolve_code): Warn if rhs string in character
	assignment has to be truncated.
	* array.c (gfc_resolve_character_array_constructor): Set new
	argument to true for call to gfc_set_constant_character_len.

2007-01-05  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29624
	* interface.c (compare_parameter_intent): New function.
	  (check_intents): Support pointer intents.
	* symbol.c (check_conflict): Support pointer intents,
	  better conflict_std message.
	* expr.c (gfc_check_assign,gfc_check_pointer_assign):
	  Support pointer intents.
	* resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
	  Support pointer intents.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30371
	* check.c (gfc_check_kill_sub): Add checks for non-scalar
	arguments.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi: Minor cleanup, reflowing overlong
	paragraphs, and correcting whitespace.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi (LBOUND): Add documentation.
	(LGE): Add documentation.
	(LGT): Add documentation.
	(LINK): Add documentation.
	(LLE): Add documentation.
	(LLT): Add documentation.
	(LNBLNK): Add documentation.
	(UBOUND): Add documentation.
	(UNLINK): Add documentation.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi (IAND): Clarify argument specifications.
	(IBCLR): Add documentation.
	(IBITS): Add documentation.
	(IBSET): Add documentation.
	(IEOR): Add documentation.
	(IERRNO): Add documentation.
	(INDEX): Add documentation.
	(IOR): Add documentation.
	(ISHFT): Add documentation.
	(ISHFTC): Add documentation.
	(KILL): Add documentation.
	(LEN_TRIM): Add documentation.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30235
	* interface.c (compare_actual_formal): check for
	alternate returns when iterating over non-present
	arguments.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* invoke.texi: Update manpage copyright to include 2007.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.texi: Update copyright to include 2007.
	* intrinsic.texi: Update copyright to include 2007.
	* invoke.texi: Update copyright to include 2007.

2007-01-02  Tobias Burnus  <burnus@net-b.de>
	    Jakub Jelinek  <jakub@redhat.com>

	PR fortran/30276
	* scanner.c (open_included_file): Revert patch.
	  (gfc_open_included_file): Support absolute pathnames.
	  (gfc_open_intrinsic_module): Support absolute pathnames.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.texi (GNU Fortran and GCC): Rewrite

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.texi (Introduction): Lower "Part I:
	Introduction" to a chapter, renumber Parts II and III to
	Parts I and II.
	* intrinsic.texi (Introduction): Rename to "Introduction
	to Intrinsics" to avoid conflict with the new chapter.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi (Introduction): Rewrite first paragraph.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* invoke.texi (OpenMP): Added index entry.
	* gfortran.texi (title page): Removed erroneous '*'.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
	to description.
	(Extensions): Miscellaneous minor rewriting and copyediting.
	(BOZ-literal constants): Renamed from Hexadecimal constants.
	(Hollerith constants support): Added explanation and 
	suggestions for standard-conforming modern equivalents.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi: Improvements to index entries; change
	@findex entries to @cindex entries.
	* invoke.texi: Standardize and improve index entries.
	* gfortran.texi: Fix @code in one index entry.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* invoke.texi: Change @code-type macros to appropriate
	variants (@command, @option, etc.)
	* gfortran.texi: Same.

2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>

	* intrinsic.texi: Various minor cleanups.

2007-01-02  Steven G. Kargl  <kargls@comcast.net>

	* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
	build_int_cst.

2007-01-02  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30276
	* scanner.c (open_included_file): Support full-path filenames.

2007-01-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20896
	* interface.c (check_sym_interfaces): Remove call to
	resolve_global_procedure.
	gfortran.h : Remove prototype for resolve_global_procedure.
	resolve.c (resolve_global_procedure): Add static attribute
	to function declaration.

2007-01-01  Steven G. Kargl  <kargls@comcast.net>

	* ChangeLog: Copy to ...
	* ChangeLog-2006: here.