aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
blob: 4fa765b94a71f334922c8a344a4f9fc41735884a (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
2005-01-25  Erik Edelmann  <eedelman@gcc.gnu.org>

	PR fortran/25716
	* symbol.c (free_old_symbol): New function.
	(gfc_commit_symbols): Use it.
	(gfc_commit_symbol): New function.
	(gfc_use_derived): Use it.
	* gfortran.h: Add prototype for gfc_commit_symbol.
	* intrinsic.c (gfc_find_function): Search in 'conversion'
	if not found in 'functions'.
	(gfc_convert_type_warn): Add a symtree to the new
	expression node, and commit the new symtree->n.sym.
	* resolve.c (gfc_resolve_index): Make sure typespec is
	properly initialized.

2005-01-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25901
	* decl.c (get_proc_name): Replace subroutine and function attributes
	in "already defined" test by the formal arglist pointer being non-NULL.

	Fix regression in testing of admissability of attributes.
	* symbol.c (gfc_add_attribute): If the current_attr has non-zero
	intent, do not do the check for a dummy being used.
	* decl.c (attr_decl1): Add current_attr.intent as the third argument
	in the call to gfc_add_attribute.
	* gfortran.h: Add the third argument to the prototype for
	gfc_add_attribute.

2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	date.

2005-01-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25124
	PR fortran/25625
	* decl.c (get_proc_name): If there is an existing
	symbol in the encompassing namespace, call errors
	if it is a procedure of the same name or the kind
	field is set, indicating a type declaration.

	PR fortran/20881
	PR fortran/23308
	PR fortran/25538
	PR fortran/25710
	* decl.c (add_global_entry): New function to check
	for existing global symbol with this name and to
	create new one if none exists.
	(gfc_match_entry): Call add_global_entry before
	matching argument lists for subroutine and function
	entries.
	* gfortran.h: Prototype for existing function,
	global_used.
	* resolve.c (resolve_global_procedure): New function
	to check global symbols for procedures.
	(resolve_call, resolve_function): Calls to this
	new function for non-contained and non-module
	procedures.
	* match.c (match_common): Add check for existing
	global symbol, creat one if none exists and emit
	error if there is a clash.
	* parse.c (global_used): Remove static and use the
	gsymbol name rather than the new_block name, so that
	the function can be called from resolve.c.
	(parse_block_data, parse_module, add_global_procedure):
	Improve checks for existing gsymbols.  Emit error if
	already defined or if references were to another type.
	Set defined flag.

	PR fortran/PR24276
	* trans-expr.c (gfc_conv_aliased_arg): New function called by 
	gfc_conv_function_call that coverts an expression for an aliased
	component reference to a derived type array into a temporary array
	of the same type as the component.  The temporary is passed as an
	actual argument for the procedure call and is copied back to the
	derived type after the call.
	(is_aliased_array): New function that detects an array reference
	that is followed by a component reference.
	(gfc_conv_function_call): Detect an aliased actual argument with
	is_aliased_array and convert it to a temporary and back again
	using gfc_conv_aliased_arg.

2006-01-19  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>

	* gfortranspec.c: Update copyright years.
	* trans.c: Likewise.
	* trans-array.c: Likewise.
	* trans-array.h: Likewise.
	* trans-decl.c: Likewise.
	* trans-stmt.c: Likewise.
	* trans-stmt.h: Likewise.
	* trans-types.c: Likewise.

2006-01-18  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/18540
	PR fortran/18937
	* gfortran.h (BBT_HEADER): Move definition up.
	(gfc_st_label): Add BBT_HEADER, remove 'prev' and 'next'.
	* io.c (format_asterisk): Adapt initializer.
	* resolve.c (resolve_branch): Allow FORTRAN 66 cross-block GOTOs
	as extension.
	(warn_unused_label): Take gfc_st_label label as argument, adapt to
	new data structure.
	(gfc_resolve): Adapt call to warn_unused_label.
	* symbol.c (compare_st_labels): New function.
	(gfc_free_st_label, free_st_labels, gfc_get_st_label): Convert to
	using balanced binary tree.
	* decl.c (match_char_length, gfc_match_old_kind_spec): Do away
	with 'cnt'.
	(warn_unused_label): Adapt to binary tree.
	* match.c (gfc_match_small_literal_int): Only set cnt if non-NULL.
	* primary.c (match_kind_param): Do away with cnt.

2006-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20869
	PR fortran/20875
	PR fortran/25024
	* symbol.c (check_conflict): Add pointer valued elemental
	functions and internal procedures with the external attribute
	to the list of conflicts.
	(gfc_add_attribute): New catch-all function to perform the
	checking of symbol attributes for attribute declaration
	statements.
	* decl.c (attr_decl1): Call gfc_add_attribute for each of -
	(gfc_match_external, gfc_match_intent, gfc_match_intrinsic,
	gfc_match_pointer, gfc_match_dimension, gfc_match_target):
	Remove spurious calls to checks in symbol.c.  Set the
	attribute directly and use the call to attr_decl() for
	checking.
	* gfortran.h:  Add prototype for gfc_add_attribute.

	PR fortran/25785
	* resolve.c (resolve_function): Exclude PRESENT from assumed size
	argument checking. Replace strcmp's with comparisons with generic
	codes.

2006-01-16  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>

	* gfortranspec.c (lang_specific_spec_functions): Remove.

2006-01-16  Richard Guenther  <rguenther@suse.de>

	* trans-stmt.c (gfc_trans_if_1): Use fold_buildN and build_int_cst.
	(gfc_trans_arithmetic_if): Likewise.
	(gfc_trans_simple_do): Likewise.
	(gfc_trans_do): Likewise.
	(gfc_trans_do_while): Likewise.
	(gfc_trans_logical_select): Likewise.
	(gfc_trans_forall_loop): Likewise.
	(generate_loop_for_temp_to_lhs): Likewise.
	(generate_loop_for_rhs_to_temp): Likewise.
	(gfc_trans_allocate): Likewise.
	* trans.c (gfc_add_expr_to_block): Do not fold expr again.

2006-01-16  Richard Guenther  <rguenther@suse.de>

	* trans-expr.c (gfc_conv_function_call): Use fold_build2.
	* trans-stmt.c (gfc_trans_goto): Likewise.  Use build_int_cst.
	* trans.c (gfc_trans_runtime_check): Don't fold the condition
	again.

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

	PR fortran/25756
	* symbol.c (gfc_free_st_label): Give variable meaningful name. Remove
	unneeded parenthesis. Fix-up the head of the list (2 lines gleaned
	from g95).

2006-01-13  Diego Novillo  <dnovillo@redhat.com>

	* trans.c (gfc_add_expr_to_block): Do not fold tcc_statement
	nodes.

2006-01-11  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>

	* parse.c (next_fixed): Remove superfluous string concatenation.

2006-01-11  Bernhard Fischer  <rep.nop@aon.at>

	PR fortran/25486
	* scanner.c (load_line): use maxlen to determine the line-length used
	for padding lines in fixed form.

2005-01-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25730
	* trans-types.c (copy_dt_decls_ifequal): Copy backend decl for
	character lengths.

2006-01-09  Andrew Pinski  <pinskia@physics.uc.edu>

	fortran/24936
	* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Use fold_convert
	to avoid type mismatch.

2006-01-09  Andrew Pinski  <pinskia@physics.uc.edu>

	PR fortran/21977
	* trans-decl.c (gfc_generate_function_code): Move the NULLing of
	current_fake_result_decl down to below generate_local_vars.

2006-01-09  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/12456
	* trans-expr.c (gfc_to_single_character): New function that converts
	string to single character if its length is 1.
	(gfc_build_compare_string):New function that compare string and handle
	single character specially.
	(gfc_conv_expr_op): Use gfc_build_compare_string.
	(gfc_trans_string_copy): Use gfc_to_single_character.
	* trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
	gfc_build_compare_string.
	* trans.h (gfc_build_compare_string): Add prototype.

2006-01-09  Feng Wang  <fengwang@nudt.edu.cn>

	* simplify.c (gfc_simplify_char): Use UCHAR_MAX instead of literal
	constant.
	(gfc_simplify_ichar): Get the result from unsinged char and in the
	range 0 to UCHAR_MAX instead of CHAR_MIN to CHAR_MAX.

2005-01-08  Erik Edelmann  <eedelman@gcc.gnu.org>

	PR fortran/25093
	* resolve.c (resolve_fntype): Check that PUBLIC functions
	aren't of PRIVATE type.

2005-01-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>

	* decl.c (gfc_match_function_decl): Correctly error out in case of
	omitted function argument list.

2006-01-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/22146
	* trans-array.c (gfc_reverse_ss): Remove static attribute.
	(gfc_walk_elemental_function_args): Replace gfc_expr * argument for
	the function call with the corresponding gfc_actual_arglist*.  Change
	code accordingly.
	(gfc_walk_function_expr): Call to gfc_walk_elemental_function_args
	now requires the actual argument list instead of the expression for
	the function call.
	* trans-array.h: Modify the prototype for gfc_walk_elemental_function_args
	and provide a prototype for gfc_reverse_ss.
	* trans-stmt.h (gfc_trans_call): Add the scalarization code for the case
	where an elemental subroutine has array valued actual arguments.

	PR fortran/25029
	PR fortran/21256
	PR fortran/20868
	PR fortran/20870
	* resolve.c (check_assumed_size_reference): New function to check for upper
	bound in assumed size array references.
	(resolve_assumed_size_actual): New function to do a very restricted scan
	of actual argument expressions of those procedures for which incomplete
	assumed size array references are not allowed.
	(resolve_function, resolve_call): Switch off assumed size checking of
	actual arguments, except for elemental procedures and intrinsic
	inquiry functions, in some circumstances.
	(resolve_variable): Call check_assumed_size_reference.

2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/24268
	* io.c (next_char_not_space): New function that returns the next
	character that is not white space.
	(format_lex): Use the new function to skip whitespace within
	a format string.

2006-01-05  Erik Edelmann  <eedelman@gcc.gnu.org>

	PR fortran/23675
	* expr.c (gfc_expr_set_symbols_referenced): New function.
	* gfortran.h: Add a function prototype for it.
	* resolve.c (resolve_function): Use it for
	use associated character functions lengths.
	* expr.c, gfortran.h, resolve.c: Updated copyright years.

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

	PR fortran/25101
	* resolve.c (resolve_forall_iterators):  Check for scalar variables;
	Check stride is nonzero.

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

	PR fortran/24640
	* parse.c (next_free): Check for whitespace after the label.
	* match.c (gfc_match_small_literal_int): Initialize cnt variable.

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

	* ChangeLog: Split previous years into ...
	* ChangeLog-2002: here.
	* ChangeLog-2003: here.
	* ChangeLog-2004: here.
	* ChangeLog-2005: here.