1 2010-02-05 Paul Thomas <pault@gcc.gnu.org>
4 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
5 'formal_ptr'. If this is true, give returned descriptor unity
6 lbounds, in all dimensions, and the appropriate offset.
7 (gfc_conv_procedure_call); If formal is a pointer, set the last
8 argument of gfc_conv_subref_array_arg to true.
9 * trans.h : Add last argument for gfc_conv_subref_array_arg.
10 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
11 new arg of gfc_conv_subref_array_arg to false.
12 * trans-stmt.c (forall_make_variable_temp): The same.
14 2010-02-03 Tobias Burnus <burnus@net-b.de>
17 * interface.c (compare_parameter): Disable rank-checking
20 2010-02-02 Tobias Burnus <burnus@net-b.de>
23 * parse.c (decode_specification_statement): Use sym->result not sym.
25 2010-02-01 Tobias Burnus <burnus@net-b.de>
28 * decl.c (variable_decl): Allow default initializer in
29 TYPE declarations in PURE functions.
31 2010-01-31 Janus Weil <janus@gcc.gnu.org>
34 * resolve.c (resolve_allocate_expr): Move default initialization code
35 here from gfc_trans_allocate.
36 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
38 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
39 of CLASS variables via memcpy.
40 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
41 to resolve_allocate_expr.
43 2010-01-31 Paul Thomas <pault@gcc.gnu.org>
46 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
47 * gfortran.h : Add prototype for above.
48 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
49 (gfc_trans_subcomponent_assign): Call new function to replace
50 the code to deal with allocatable components.
51 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
52 gfc_get_full_arrayspec_from_expr to replace existing code.
54 2010-01-25 Tobias Burnus <burnus@net-b.de>
57 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
60 2010-01-24 Paul Thomas <pault@gcc.gnu.org>
64 * expr.c (remove_subobject_ref): If the constructor is NULL use
65 the expression as the source.
66 (simplify_const_ref): Change the type of expression if
67 there are component references. Allow for substring to be at
68 the end of an arbitrarily long chain of references. If an
69 element is found that is not in an EXPR_ARRAY, assume that this
70 is scalar initialization of array. Call remove_subobject_ref in
71 this case with NULL second argument.
73 2010-01-24 Tobias Burnus <burnus@net-b.de>
76 * array.c (gfc_array_dimen_size): Use correct specific
77 function in the check.
79 2010-01-21 Paul Thomas <pault@gcc.gnu.org>
82 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
83 is required, turn any trailing array elements after a range
84 into ranges so that offsets can be calculated.
86 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
88 * module.c (mio_f2k_derived): Use enumerator as initializer of
92 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
95 2010-01-19 Janus Weil <janus@gcc.gnu.org>
98 * resolve.c (extract_compcall_passed_object): Set locus for
99 passed-object argument.
100 (extract_ppc_passed_object): Set locus and correctly remove PPC
103 2010-01-19 Paul Thomas <pault@gcc.gnu.org>
106 * trans-decl.c (add_argument_checking): Do not use the backend
107 decl directly to test for the presence of an optional dummy
108 argument. Use gfc_conv_expr_present, remembering to set the
112 * trans-decl.c (gfc_generate_function_code): Small white space
113 changes. If 'recurcheckvar' is NULL do not try to reset it.
115 2010-01-19 Janus Weil <janus@gcc.gnu.org>
118 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
119 component for extended types.
120 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
121 and take care of parent component accessibility.
123 2010-01-17 Janus Weil <janus@gcc.gnu.org>
126 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
127 * interface.c (check_interface1): Move a warning message here from
128 resolve_fl_procedure.
129 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
130 * module.c (read_module): Remove call to gfc_check_interfaces, since
131 this comes too early here.
132 * resolve.c (resolve_fl_procedure): Move warning message to
135 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
138 * interface.c (check_interface1): Pass symbol name rather than NULL to
139 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
141 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
142 than NULL to gfc_compare_interfaces.
144 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
147 * trans-array.c (duplicate_allocatable): Static version of
148 gfc_duplicate_allocatable with provision to handle scalar
149 components. New boolean argument to switch off call to malloc
151 (gfc_duplicate_allocatable): New function to call above with
153 (gfc_copy_allocatable_data): New function to call above with
155 (structure_alloc_comps): Do not apply indirect reference to
156 scalar pointers. Add new section to copy allocatable components
157 of arrays. Extend copying of allocatable components to include
159 (gfc_copy_only_alloc_comp): New function to copy allocatable
160 component derived types, without allocating the base structure.
161 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
162 Add primitive for gfc_copy_only_alloc_comp.
163 * trans-expr.c (gfc_conv_procedure_call): After calls to
164 transformational functions with results that are derived types
165 with allocatable components, copy the components in the result.
166 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
167 of lhs derived types before allocation.
169 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
172 * module.c (load_generic_interfaces): If a procedure that is
173 use associated but not generic is given an interface that
174 includes itself, then make it generic.
176 2010-01-11 Joseph Myers <joseph@codesourcery.com>
177 Shujing Zhao <pearly.zhao@oracle.com>
180 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
181 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
182 character between option name and help text.
184 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
188 * trans-array.c (gfc_conv_array_initializer): Change call to
189 gfc_error_now to call to gfc_fatal_error.
190 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
191 (is_constant_element): Changed name from constant_element.
192 (gfc_constant_ac): Only use expand_construuctor for expression
193 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
194 call gfc_is_constant_expr.
195 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
197 * resolve.c (gfc_is_expandable_expr): New function that determiners if
198 array expressions should have their constructors expanded.
199 (gfc_resolve_expr): Use new function to determine whether or not to call
200 gfc_expand_constructor.
202 2010-01-09 Tobias Burnus <burnus@net-b.de>
205 * trans-expr.c (gfc_trans_structure_assign): Handle
207 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
208 to the constructor for c_null_(fun)ptr.
209 * resolve.c (resolve_structure_cons): Add special case
212 2010-01-09 Jakub Jelinek <jakub@redhat.com>
214 * gfortranspec.c (lang_specific_driver): Update copyright notice
217 2010-01-08 Tobias Burnus <burnus@net-b.de>
220 * symbol.c (check_conflict, gfc_copy_attr): Add
221 ASYNCHRONOUS support.
222 (gfc_add_asynchronous): New function.
223 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
224 (gfc_match_asynchronous): New function.
225 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
226 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
227 (gfc_add_asynchronous): New Prototype.
228 * module.c (ab_attribute, mio_symbol_attribute): Add
229 ASYNCHRONOUS support.
230 * resolve.c (was_declared): Ditto.
231 * match.h (gfc_match_asynchronous): New prototype.
232 * parse.c (decode_specification_statement,decode_statement):
233 Add ASYNCHRONOUS support.
235 2010-01-07 Tobias Burnus <burnus@net-b.de>
238 * trans-decl.c (get_proc_pointer_decl): Fix call to
239 gfc_conv_initializer for array-valued proc-pointer funcs.
241 2010-01-07 Tobias Burnus <burnus@net-b.de>
244 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
245 allocatable scalars with SAVE attribute.
247 2010-01-05 Tobias Burnus <burnus@net-b.de>
250 * options.c (gfc_post_options): Set -frecursion
251 when -fopenmp is used.
253 2010-01-05 Tobias Burnus <burnus@net-b.de>
256 * trans-expr.c (gfc_conv_procedure_call): Nullify
257 return value for allocatable-scalar character functions.
259 2010-01-04 Tobias Burnus <burnus@net-b.de>
262 * error.c (error_printf, gfc_warning, gfc_notify_std,
263 gfc_warning_now, gfc_error, gfc_error_now,
264 gfc_fatal_error): Change argument name from nocmsgid to
265 gmsgid to enable (x)gettext's % checking.
267 2010-01-04 Tobias Burnus <burnus@net-b.de>
269 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
271 2010-01-04 Tobias Burnus <burnus@net-b.de>
274 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
275 for functions returning allocatable scalars.
276 * trans-stmt.c (gfc_trans_allocate): Emmit error when
277 reallocating an allocatable scalar.
278 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
280 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
282 (gfc_generate_function_code): Nullify result variable for
286 * module.c (gfc_use_module): Fix warning string to allow
290 * invoke.texi (-fcheck=recursion): Mention that the checking
291 is also disabled for -frecursive.
292 * trans-decl.c (gfc_generate_function_code): Disable
293 -fcheck=recursion when -frecursive is used.
295 * intrinsic.texi (iso_c_binding): Improve wording.
298 Copyright (C) 2010 Free Software Foundation, Inc.
300 Copying and distribution of this file, with or without modification,
301 are permitted in any medium without royalty provided the copyright
302 notice and this notice are preserved.