1 2008-01-18 Richard Sandiford <rsandifo@nildram.co.uk>
4 * trans-expr.c (gfc_conv_function_call): Use proper
5 type for returned character pointers.
7 2008-01-17 Paul Thomas <pault@gcc.gnu.org>
12 * decl.c : Remove gfc_function_kind_locus and
13 gfc_function_type_locus. Add gfc_matching_function.
14 (match_char_length): If matching a function and the length
15 does not match, return MATCH_YES and try again later.
16 (gfc_match_kind_spec): The same.
17 (match_char_kind): The same.
18 (gfc_match_type_spec): The same for numeric and derived types.
19 (match_prefix): Rename as gfc_match_prefix.
20 (gfc_match_function_decl): Except for function valued character
21 lengths, defer applying kind, type and charlen info until the
22 end of specification block.
23 gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS.
24 parse.c (decode_specification_statement): New function.
25 (decode_statement): Call it when a function has kind = -1. Set
26 and reset gfc_matching function, as function statement is being
28 (match_deferred_characteristics): Simplify with a single call
29 to gfc_match_prefix. Do appropriate error handling. In any
30 case, make sure that kind = -1 is reset or corrected.
31 (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS.
32 Throw an error if kind = -1 after last specification statement.
33 parse.h : Prototype for gfc_match_prefix.
35 2008-01-16 Tobias Burnus <burnus@net-b.de>
38 * interface.c (compare_parameter): Allow AS_DEFERRED array
39 elements and reject attr.pointer array elemenents.
40 (get_expr_storage_size): Return storage size of elements of
41 assumed-shape and pointer arrays.
43 2008-01-15 Sebastian Pop <sebastian.pop@amd.com>
45 * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins
46 for flag_tree_parallelize_loops.
48 2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
51 * iresolve.c (gfc_resolve_all): Call resolve_mask_arg.
52 (gfc_resolve_any): Likewise.
53 (gfc_resolve_count): Likewise. Don't append kind of
54 argument to function name.
56 2008-01-13 Tobias Burnus <burnus@net-b.de>
59 * resolve.c (resolve_actual_arglist): For expressions,
60 also check for assume-sized arrays.
61 * interface.c (compare_parameter): Move F2003 character checks
62 here, print error messages here, reject elements of
63 assumed-shape array as argument to dummy arrays.
64 (compare_actual_formal): Update for the changes above.
66 2008-01-13 Tobias Burnus <burnus@net-b.de>
69 * decl.c (contained_procedure): Only check directly preceeding state.
71 2008-01-13 Tobias Burnus <burnus@net-b.de>
74 * check.c (gfc_check_shape): Accept array ranges of
77 2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
80 * match.c (gfc_match_name): Don't error if leading character is a '(',
83 2008-01-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
86 * trans-io.c (create_dummy_iostat): Commit the symbol.
88 2008-01-11 Paul Thomas <pault@gcc.gnu.org>
91 * simplify.c (gfc_simplify_transfer): Return NULL if the size
92 of the element is unavailable and only assign character length
93 to the result, if 'mold' is constant.
95 2008-01-10 Paul Thomas <pault@gcc.gnu.org>
98 * trans-array.c (gfc_trans_array_ctor_element): Use gfc_trans_string_copy
99 to assign strings and perform bounds checks on the string length.
100 (get_array_ctor_strlen): Remove bounds checking.
101 (gfc_trans_array_constructor): Initialize string length checking.
102 * trans-array.h : Add prototype for gfc_trans_string_copy.
104 2008-01-08 Richard Guenther <rguenther@suse.de>
107 PR tree-optimization/34683
108 * trans-types.c (gfc_get_array_type_bounds): Use an array type
109 with known size for accesses if that is known.
111 2008-01-08 Paul Thomas <pault@gcc.gnu.org>
114 * expr.c (find_array_element): Check that the array bounds are
115 constant before using them. Use lower, as well as upper bound.
116 (check_restricted): Allow implied index variable.
118 2008-01-08 Paul Thomas <pault@gcc.gnu.org>
121 * trans_array.c (gfc_trans_deferred_array): Do not null the
122 data pointer on entering scope, nor deallocate it on leaving
123 scope, if the symbol has the 'save' attribute.
126 * trans_decl.c (gfc_finish_var_decl): Derived types with
127 allocatable components and an initializer must be TREE_STATIC.
129 2008-01-07 Paul Thomas <pault@gcc.gnu.org>
132 * module.c (write_generic): Rewrite completely.
133 (write_module): Change call to write_generic.
135 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
138 * scanner.c (load_line): Do not count ' ' as printable when checking for
141 2008-01-06 Paul Thomas <pault@gcc.gnu.org>
144 * module.c (load_needed): If the namespace has no proc_name
145 give it the module symbol.
147 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
150 * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert
151 the dummy variable expression, test for NULL, and pass the variable
152 address to the called function.
154 2007-01-06 Tobias Burnus <burnus@net-b.de>
157 * match.c (gfc_match_common): Remove blank common in
159 * resolve.c (resolve_common_vars): New function.
160 (resolve_common_blocks): Move checks to resolve_common_vars
161 and invoke that function.
162 (resolve_types): Call resolve_common_vars for blank commons.
164 2008-01-06 Tobias Burnus <burnus@net-b.de>
167 * resolve.c (resolve_equivalence_derived): Reject derived types with
168 default initialization if equivalenced with COMMON variable.
170 2008-01-06 Tobias Burnus <burnus@net-b.de>
173 * io.c (check_io_constraints): Disallow unformatted I/O for
176 2008-01-06 Tobias Burnus <burnus@net-b.de>
179 * resolve.c (resolve_formal_arglist): Reject dummy procedure in
182 2008-01-06 Tobias Burnus <burnus@net-b.de>
185 * interface.c (compare_actual_formal): Reject parameter
186 actual to intent(out) dummy.
188 2008-01-04 Tobias Burnus <burnus@net-b.de>
191 * primary.c (match_varspec): Gobble whitespace before