| 1 |
712 |
jeremybenn |
2007-12-31 Paul Thomas
|
| 2 |
|
|
|
| 3 |
|
|
PR fortran/34558
|
| 4 |
|
|
* interface.c (gfc_compare_types): Prevent linked lists from
|
| 5 |
|
|
putting this function into an endless recursive loop.
|
| 6 |
|
|
|
| 7 |
|
|
2007-12-26 Daniel Franke
|
| 8 |
|
|
|
| 9 |
|
|
PR fortran/34532
|
| 10 |
|
|
* gfortran.texi: Fixed section about implicit conversion of
|
| 11 |
|
|
logical and integer variables.
|
| 12 |
|
|
|
| 13 |
|
|
2007-12-25 Tobias Burnus
|
| 14 |
|
|
|
| 15 |
|
|
PR fortran/34514
|
| 16 |
|
|
* decl.c (attr_decl1): Reject specifying the DIMENSION for
|
| 17 |
|
|
already initialized variable.
|
| 18 |
|
|
(do_parm): Reject PARAMETER for already initialized variable.
|
| 19 |
|
|
|
| 20 |
|
|
2007-12-25 Daniel Franke
|
| 21 |
|
|
|
| 22 |
|
|
PR fortran/34533
|
| 23 |
|
|
* intrinsic.h (gfc_check_etime): Renamed to ...
|
| 24 |
|
|
(gfc_check_dtime_etime): ... this.
|
| 25 |
|
|
(gfc_check_etime_sub): Renamed to ...
|
| 26 |
|
|
(gfc_check_dtime_etime_sub): ... this.
|
| 27 |
|
|
(gfc_resolve_dtime_sub): New prototype.
|
| 28 |
|
|
* check.c (gfc_check_etime): Renamed to ...
|
| 29 |
|
|
(gfc_check_dtime_etime): ... this.
|
| 30 |
|
|
(gfc_check_etime_sub): Renamed to ...
|
| 31 |
|
|
(gfc_check_dtime_etime_sub): ... this.
|
| 32 |
|
|
* iresolve.c (gfc_resolve_dtime_sub): New implementation.
|
| 33 |
|
|
* intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
|
| 34 |
|
|
added stand-alone intrinsic DTIME.
|
| 35 |
|
|
(add_subroutines): Adjusted check and resolve function names for
|
| 36 |
|
|
DTIME and ETIME.
|
| 37 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
|
| 38 |
|
|
to known functions in switch.
|
| 39 |
|
|
* intrinsic.texi (DTIME): Added paragraph about thread-safety,
|
| 40 |
|
|
fixed return value section.
|
| 41 |
|
|
(CPU_TIME): Clarified intent and added implementation notes.
|
| 42 |
|
|
|
| 43 |
|
|
2007-12-23 Tobias Burnus
|
| 44 |
|
|
|
| 45 |
|
|
PR fortran/34421
|
| 46 |
|
|
* resolve.c (resolve_entries): Add standard error for functions
|
| 47 |
|
|
returning characters with different length.
|
| 48 |
|
|
|
| 49 |
|
|
2007-12-23 Daniel Franke
|
| 50 |
|
|
|
| 51 |
|
|
PR fortran/34536
|
| 52 |
|
|
* matchexp.c (match_ext_mult_operand): Print warning for unary
|
| 53 |
|
|
operators following arithmetic ones by default.
|
| 54 |
|
|
(match_ext_add_operand): Likewise.
|
| 55 |
|
|
|
| 56 |
|
|
2007-12-22 Daniel Franke
|
| 57 |
|
|
|
| 58 |
|
|
PR fortran/34559
|
| 59 |
|
|
* simplify.c (gfc_simplify_repeat): Added safeguard for empty
|
| 60 |
|
|
string literals.
|
| 61 |
|
|
|
| 62 |
|
|
2007-12-22 Thomas Koenig
|
| 63 |
|
|
|
| 64 |
|
|
PR fortran/34549
|
| 65 |
|
|
* check.c (gfc_check_cshift): Add check that shift is
|
| 66 |
|
|
type INTEGER.
|
| 67 |
|
|
|
| 68 |
|
|
2007-12-21 Jerry DeLisle
|
| 69 |
|
|
|
| 70 |
|
|
PR fortran/34540
|
| 71 |
|
|
* iresolve.c (gfc_resolve_cshift): Take optional dim path
|
| 72 |
|
|
only if the argument is an optional itself.
|
| 73 |
|
|
* iresolve.c (gfc_resolve_eoshift): Same.
|
| 74 |
|
|
|
| 75 |
|
|
2007-12-21 Paul Thomas
|
| 76 |
|
|
|
| 77 |
|
|
PR fortran/34438
|
| 78 |
|
|
* trans-decl.c (gfc_finish_var_decl): Do not mark derived types
|
| 79 |
|
|
with default initializers as TREE_STATIC unless they are in the
|
| 80 |
|
|
main program scope.
|
| 81 |
|
|
(gfc_get_symbol_decl): Pass derived types with a default
|
| 82 |
|
|
initializer to gfc_defer_symbol_init.
|
| 83 |
|
|
(init_default_dt): Apply default initializer to a derived type.
|
| 84 |
|
|
(init_intent_out_dt): Call init_default_dt.
|
| 85 |
|
|
(gfc_trans_deferred_vars): Ditto.
|
| 86 |
|
|
|
| 87 |
|
|
* module.c (read_module): Check sym->module is there before
|
| 88 |
|
|
using it in a string comparison.
|
| 89 |
|
|
|
| 90 |
|
|
2007-12-20 Tobias Burnus
|
| 91 |
|
|
|
| 92 |
|
|
PR fortran/34482
|
| 93 |
|
|
* gfortran.texi (BOZ): Document behavior for complex
|
| 94 |
|
|
numbers.
|
| 95 |
|
|
* target-memory.h (gfc_convert_boz): Update prototype.
|
| 96 |
|
|
* target-memory.c (gfc_convert_boz): Add error check
|
| 97 |
|
|
and convert BOZ to smallest possible bit size.
|
| 98 |
|
|
* resolve.c (resolve_ordinary_assign): Check return value.
|
| 99 |
|
|
* expr.c (gfc_check_assign): Ditto.
|
| 100 |
|
|
* simplify.c (simplify_cmplx, gfc_simplify_dble,
|
| 101 |
|
|
gfc_simplify_float, gfc_simplify_real): Ditto.
|
| 102 |
|
|
|
| 103 |
|
|
2007-12-19 Jerry DeLisle
|
| 104 |
|
|
|
| 105 |
|
|
PR fortran/34325
|
| 106 |
|
|
* match.h: New function declaration.
|
| 107 |
|
|
* match.c (gfc_match_parens): New function to look for mismatched
|
| 108 |
|
|
parenthesis. (gfc_match_if): Use new function to catch missing '('.
|
| 109 |
|
|
|
| 110 |
|
|
2007-12-19 Daniel Franke
|
| 111 |
|
|
|
| 112 |
|
|
PR fortran/34495
|
| 113 |
|
|
* expr.c (check_init_expr): Check whether variables with flavor
|
| 114 |
|
|
FL_PARAMETER do have a value assigned. Added error messages where
|
| 115 |
|
|
appropriate.
|
| 116 |
|
|
* simplify.c (gfc_simplify_transfer): Added check if the MOLD
|
| 117 |
|
|
argument is a constant if working with initialization
|
| 118 |
|
|
expressions.
|
| 119 |
|
|
|
| 120 |
|
|
2007-12-17 Tobias Burnus
|
| 121 |
|
|
|
| 122 |
|
|
* intrinsic.c (add_functions): Undo change; mark float and
|
| 123 |
|
|
sngl as STD_F77.
|
| 124 |
|
|
* intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
|
| 125 |
|
|
* gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
|
| 126 |
|
|
|
| 127 |
|
|
2007-12-16 Tobias Burnus
|
| 128 |
|
|
|
| 129 |
|
|
PR fortran/34495
|
| 130 |
|
|
* intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
|
| 131 |
|
|
(gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
|
| 132 |
|
|
in initialization expressions for -std=f95.
|
| 133 |
|
|
|
| 134 |
|
|
2007-12-16 Thomas Koenig
|
| 135 |
|
|
|
| 136 |
|
|
PR fortran/34305
|
| 137 |
|
|
* resolve.c (compare_bound): If either of the types of
|
| 138 |
|
|
the arguments isn't INTEGER, return CMP_UNKNOWN.
|
| 139 |
|
|
|
| 140 |
|
|
2007-12-16 Tobias Burnus
|
| 141 |
|
|
|
| 142 |
|
|
PR fortran/34246
|
| 143 |
|
|
* trans-types.c (gfc_init_types): Change build_type_variant
|
| 144 |
|
|
to build_qualified_type.
|
| 145 |
|
|
(gfc_sym_type): Return gfc_character1_type_node for
|
| 146 |
|
|
character-returning bind(C) functions.
|
| 147 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not set
|
| 148 |
|
|
se->string_length for character-returning bind(c) functions.
|
| 149 |
|
|
(gfc_trans_string_copy,gfc_trans_scalar_assign):
|
| 150 |
|
|
Support also single characters.
|
| 151 |
|
|
|
| 152 |
|
|
2007-12-16 Bernhard Fischer
|
| 153 |
|
|
|
| 154 |
|
|
* errors.c (gfc_notify_std): As originally stated but improperly
|
| 155 |
|
|
changed, disregard warnings_are_errors for deciding which buffer
|
| 156 |
|
|
to use for warnings.
|
| 157 |
|
|
|
| 158 |
|
|
2007-12-16 Paul Thomas
|
| 159 |
|
|
|
| 160 |
|
|
PR fortran/31213
|
| 161 |
|
|
PR fortran/33888
|
| 162 |
|
|
PR fortran/33998
|
| 163 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): If the
|
| 164 |
|
|
iterator variable does not have a backend_decl, use a local
|
| 165 |
|
|
temporary.
|
| 166 |
|
|
(get_elemental_fcn_charlen): New function to map the character
|
| 167 |
|
|
length of an elemental function onto its actual arglist.
|
| 168 |
|
|
(gfc_conv_expr_descriptor): Call the above so that the size of
|
| 169 |
|
|
the temporary can be evaluated.
|
| 170 |
|
|
* trans-expr.c : Include arith.h and change prototype of
|
| 171 |
|
|
gfc_apply_interface_mapping_to_expr to return void. Change all
|
| 172 |
|
|
references to gfc_apply_interface_mapping_to_expr accordingly.
|
| 173 |
|
|
(gfc_free_interface_mapping): Free the 'expr' field.
|
| 174 |
|
|
(gfc_add_interface_mapping): Add an argument for the actual
|
| 175 |
|
|
argument expression. This is copied to the 'expr' field of the
|
| 176 |
|
|
mapping. Only stabilize the backend_decl if the se is present.
|
| 177 |
|
|
Copy the character length expression and only add it's backend
|
| 178 |
|
|
declaration if se is present. Return without working on the
|
| 179 |
|
|
backend declaration for the new symbol if se is not present.
|
| 180 |
|
|
(gfc_map_intrinsic_function) : To simplify intrinsics 'len',
|
| 181 |
|
|
'size', 'ubound' and 'lbound' and then to map the result.
|
| 182 |
|
|
(gfc_map_fcn_formal_to_actual): Performs the formal to actual
|
| 183 |
|
|
mapping for the case of a function found in a specification
|
| 184 |
|
|
expression in the interface being mapped.
|
| 185 |
|
|
(gfc_apply_interface_mapping_to_ref): Remove seen_result and
|
| 186 |
|
|
all its references. Remove the inline simplification of LEN
|
| 187 |
|
|
and call gfc_map_intrinsic_function instead. Change the
|
| 188 |
|
|
order of mapping of the actual arguments and simplifying
|
| 189 |
|
|
intrinsic functions. Finally, if a function maps to an
|
| 190 |
|
|
actual argument, call gfc_map_fcn_formal_to_actual.
|
| 191 |
|
|
(gfc_conv_function_call): Add 'e' to the call to
|
| 192 |
|
|
gfc_add_interface_mapping.
|
| 193 |
|
|
* dump-parse-tree.c (gfc_show_symbol_n): New function for
|
| 194 |
|
|
diagnostic purposes.
|
| 195 |
|
|
* gfortran.h : Add prototype for gfc_show_symbol_n.
|
| 196 |
|
|
* trans.h : Add 'expr' field to gfc_add_interface_mapping.
|
| 197 |
|
|
Add 'expr' to prototype for gfc_show_symbol_n.
|
| 198 |
|
|
* resolve.c (resolve_generic_f0): Set specific function as
|
| 199 |
|
|
referenced.
|
| 200 |
|
|
|
| 201 |
|
|
2007-12-14 Tobias Burnus
|
| 202 |
|
|
|
| 203 |
|
|
PR fortran/34438
|
| 204 |
|
|
* resolve.c (resolve_symbol): Do not emit public-variable-
|
| 205 |
|
|
of-private-derived-type error for non-module variables.
|
| 206 |
|
|
|
| 207 |
|
|
2007-12-14 Tobias Burnus
|
| 208 |
|
|
|
| 209 |
|
|
PR fortran/34398
|
| 210 |
|
|
* expr.c (gfc_check_assign): Add range checks for assignments of BOZs.
|
| 211 |
|
|
* resolve.c (resolve_ordinary_assign): Ditto.
|
| 212 |
|
|
* arith.c (gfc_range_check): Fix return value for complex numbers.
|
| 213 |
|
|
|
| 214 |
|
|
2007-12-14 Daniel Franke
|
| 215 |
|
|
|
| 216 |
|
|
PR fortran/34324
|
| 217 |
|
|
* module.c (parse_atom): Fixed parsing of modules files whose
|
| 218 |
|
|
lines are terminated by CRLF.
|
| 219 |
|
|
|
| 220 |
|
|
2007-12-13 Anton Korobeynikov
|
| 221 |
|
|
|
| 222 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Correct decl
|
| 223 |
|
|
construction for select_string() and internal_unpack()
|
| 224 |
|
|
|
| 225 |
|
|
2007-12-13 Duncan Sands
|
| 226 |
|
|
Anton Korobeynikov
|
| 227 |
|
|
|
| 228 |
|
|
* trans-expr.c (gfc_conv_structure): Make sure record constructors
|
| 229 |
|
|
for static variables are marked constant.
|
| 230 |
|
|
|
| 231 |
|
|
2007-12-12 Tobias Burnus
|
| 232 |
|
|
|
| 233 |
|
|
PR fortran/34254
|
| 234 |
|
|
* decl.c (match_char_kind): Support use-associated/imported
|
| 235 |
|
|
kind parameters.
|
| 236 |
|
|
(gfc_match_kind_spec): Support als BT_CHARACTER, when
|
| 237 |
|
|
re-scanning kind spec.
|
| 238 |
|
|
|
| 239 |
|
|
2007-12-11 Aldy Hernandez
|
| 240 |
|
|
|
| 241 |
|
|
* decl.c (add_global_entry): Make type unsigned.
|
| 242 |
|
|
|
| 243 |
|
|
2007-12-11 Bernhard Fischer
|
| 244 |
|
|
|
| 245 |
|
|
* decl.c (match_prefix): Make seen_type a boolean.
|
| 246 |
|
|
(add_global_entry): Cache type distinction.
|
| 247 |
|
|
* trans-decl.c: Whitespace cleanup.
|
| 248 |
|
|
|
| 249 |
|
|
2007-12-10 Tobias Burnus
|
| 250 |
|
|
|
| 251 |
|
|
PR fortran/34425
|
| 252 |
|
|
* interface.c (get_expr_storage_size): Use signed integer when
|
| 253 |
|
|
obtaining the bounds.
|
| 254 |
|
|
|
| 255 |
|
|
2007-12-09 Jakub Jelinek
|
| 256 |
|
|
|
| 257 |
|
|
PR fortran/22244
|
| 258 |
|
|
* trans.h (struct array_descr_info): Forward declaration.
|
| 259 |
|
|
(gfc_get_array_descr_info): New prototype.
|
| 260 |
|
|
(enum gfc_array_kind): New type.
|
| 261 |
|
|
(struct lang_type): Add akind field.
|
| 262 |
|
|
(GFC_TYPE_ARRAY_AKIND): Define.
|
| 263 |
|
|
* trans-types.c: Include dwarf2out.h.
|
| 264 |
|
|
(gfc_build_array_type): Add akind argument. Adjust
|
| 265 |
|
|
gfc_get_array_type_bounds call.
|
| 266 |
|
|
(gfc_get_nodesc_array_type): Include proper debug info even for
|
| 267 |
|
|
assumed-size arrays.
|
| 268 |
|
|
(gfc_get_array_type_bounds): Add akind argument, set
|
| 269 |
|
|
GFC_TYPE_ARRAY_AKIND to it.
|
| 270 |
|
|
(gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
|
| 271 |
|
|
callers.
|
| 272 |
|
|
(gfc_get_array_descr_info): New function.
|
| 273 |
|
|
* trans-array.c (gfc_trans_create_temp_array,
|
| 274 |
|
|
gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
|
| 275 |
|
|
callers.
|
| 276 |
|
|
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
|
| 277 |
|
|
* trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
|
| 278 |
|
|
* Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
|
| 279 |
|
|
* f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
|
| 280 |
|
|
|
| 281 |
|
|
2007-12-09 Paul Thomas
|
| 282 |
|
|
|
| 283 |
|
|
PR fortran/32129
|
| 284 |
|
|
* dump-parse-tree.c (gfc_show_expr_n): New function for
|
| 285 |
|
|
debugging.
|
| 286 |
|
|
* gfortran.h : Add prototype for gfc_show_expr_n.
|
| 287 |
|
|
* expr.c (simplify_constructor): Copy the constructor
|
| 288 |
|
|
expression and try to simplify that. If success, replace the
|
| 289 |
|
|
original. Otherwise discard the copy, keep going through
|
| 290 |
|
|
the structure and return success.
|
| 291 |
|
|
|
| 292 |
|
|
PR fortran/31487
|
| 293 |
|
|
* decl.c (build_struct): Pad out default initializers with
|
| 294 |
|
|
spaces to the component character length.
|
| 295 |
|
|
|
| 296 |
|
|
2007-12-08 Tobias Burnus
|
| 297 |
|
|
|
| 298 |
|
|
PR fortran/34342
|
| 299 |
|
|
PR fortran/34345
|
| 300 |
|
|
PR fortran/18026
|
| 301 |
|
|
PR fortran/29471
|
| 302 |
|
|
* gfortran.texi (BOZ literal constants): Improve documentation
|
| 303 |
|
|
and adapt for BOZ changes.
|
| 304 |
|
|
* Make-lang.ini (resolve.o): Add target-memory.h dependency.
|
| 305 |
|
|
* gfortran.h (gfc_expr): Add is_boz flag.
|
| 306 |
|
|
* expr.c: Include target-memory.h.
|
| 307 |
|
|
(gfc_check_assign): Support transferring BOZ for real/cmlx.
|
| 308 |
|
|
* resolve.c: Include target-memory.h
|
| 309 |
|
|
(resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
|
| 310 |
|
|
* target-memory.c (gfc_convert_boz): New function.
|
| 311 |
|
|
* target-memory.c (gfc_convert_boz): Add prototype.
|
| 312 |
|
|
* primary.c (match_boz_constant): Set is_boz, enable F95 error
|
| 313 |
|
|
also without -pedantic, and allow for Fortran 2003 BOZ.
|
| 314 |
|
|
(match_real_constant): Fix comment.
|
| 315 |
|
|
* simplify.c (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
|
| 316 |
|
|
gfc_simplify_real): Support Fortran 2003 BOZ.
|
| 317 |
|
|
|
| 318 |
|
|
2007-12-08 Jakub Jelinek
|
| 319 |
|
|
|
| 320 |
|
|
PR fortran/34359
|
| 321 |
|
|
* gfortran.h (gfc_file): Remove sibling and down fields.
|
| 322 |
|
|
* scanner.c (file_changes, file_changes_cur, file_changes_count,
|
| 323 |
|
|
file_changes_allocated): New variables.
|
| 324 |
|
|
(add_file_change, report_file_change): New functions.
|
| 325 |
|
|
(change_file): Remove.
|
| 326 |
|
|
(gfc_start_source_files, gfc_end_source_files): Call
|
| 327 |
|
|
report_file_change instead of change_file.
|
| 328 |
|
|
(gfc_advance_line): Call report_file_change instead of change_file,
|
| 329 |
|
|
call it even if lb->file == lb->next->file.
|
| 330 |
|
|
(get_file): Revert last changes.
|
| 331 |
|
|
(preprocessor_line): Call add_file_change when entering or leaving
|
| 332 |
|
|
a file.
|
| 333 |
|
|
(load_file): Likewise. Set file_change[...].lb for all newly added
|
| 334 |
|
|
file changes.
|
| 335 |
|
|
|
| 336 |
|
|
2007-12-06 Tobias Burnus
|
| 337 |
|
|
|
| 338 |
|
|
PR fortran/34333
|
| 339 |
|
|
* primary.c (match_boz_constant): Add gfc_notify_std diagnostics.
|
| 340 |
|
|
|
| 341 |
|
|
2007-12-06 Paul Thomas
|
| 342 |
|
|
|
| 343 |
|
|
PR fortran/34335
|
| 344 |
|
|
* module.c (find_symbol): Do not return symtrees with unique
|
| 345 |
|
|
names, which shows that they are private.
|
| 346 |
|
|
|
| 347 |
|
|
2007-12-05 Jakub Jelinek
|
| 348 |
|
|
|
| 349 |
|
|
PR debug/33739
|
| 350 |
|
|
* gfortran.h (gfc_file): Remove included_by field, add sibling and
|
| 351 |
|
|
down.
|
| 352 |
|
|
(gfc_start_source_files, gfc_end_source_files): New prototypes.
|
| 353 |
|
|
* parse.c (gfc_parse_file): Call gfc_start_source_files and
|
| 354 |
|
|
gfc_end_source_files instead of calling the debugging hooks directly.
|
| 355 |
|
|
* error.c (show_locus): Use up field instead of included_by.
|
| 356 |
|
|
* scanner.c (change_file, gfc_start_source_files,
|
| 357 |
|
|
gfc_end_source_files): New functions.
|
| 358 |
|
|
(gfc_advance_line): Call change_file instead of calling debug hooks
|
| 359 |
|
|
directly.
|
| 360 |
|
|
(get_file): Set up rather than included_by. Initialize down and
|
| 361 |
|
|
sibling.
|
| 362 |
|
|
(preprocessor_line, load_file): Don't set up field here.
|
| 363 |
|
|
|
| 364 |
|
|
2007-12-05 Tobias Burnus
|
| 365 |
|
|
|
| 366 |
|
|
PR fortran/34333
|
| 367 |
|
|
* arith.h (gfc_compare_expr): Add operator argument, needed
|
| 368 |
|
|
for compare_real.
|
| 369 |
|
|
* arith.c (gfc_arith_init_1): Use mpfr_min instead of mpfr_cmp/set
|
| 370 |
|
|
to account for NaN.
|
| 371 |
|
|
(compare_real): New function, as mpfr_cmp but takes NaN into account.
|
| 372 |
|
|
(gfc_compare_expr): Use compare_real.
|
| 373 |
|
|
(compare_complex): Take NaN into account.
|
| 374 |
|
|
(gfc_arith_eq,gfc_arith_ne,gfc_arith_gt,gfc_arith_ge,gfc_arith_lt,
|
| 375 |
|
|
gfc_arith_le): Pass operator to gfc_compare_expr.
|
| 376 |
|
|
* resolve.c (compare_cases,resolve_select): Pass operator
|
| 377 |
|
|
to gfc_compare_expr.
|
| 378 |
|
|
* simplify.c (simplify_min_max): Take NaN into account.
|
| 379 |
|
|
|
| 380 |
|
|
2007-12-04 Tobias Burnus
|
| 381 |
|
|
|
| 382 |
|
|
PR fortran/34318
|
| 383 |
|
|
* module.c (mio_gmp_real): Properly write NaN and Infinity.
|
| 384 |
|
|
|
| 385 |
|
|
2007-12-02 Tobias Burnus
|
| 386 |
|
|
|
| 387 |
|
|
PR fortran/34186
|
| 388 |
|
|
* symbol.c (generate_isocbinding_symbol): Fix setting string length.
|
| 389 |
|
|
|
| 390 |
|
|
2007-11-30 Tobias Burnus
|
| 391 |
|
|
|
| 392 |
|
|
PR fortran/34133
|
| 393 |
|
|
* match.h: Add bool allow_binding_name to gfc_match_bind_c.
|
| 394 |
|
|
* decl.c (match_attr_spec,gfc_match_bind_c_stmt,gfc_match_entry):
|
| 395 |
|
|
Adjust accordingly.
|
| 396 |
|
|
(gfc_match_bind_c): Add allow_binding_name argument, reject
|
| 397 |
|
|
binding name for dummy arguments.
|
| 398 |
|
|
(gfc_match_suffix,gfc_match_subroutine): Make use of
|
| 399 |
|
|
allow_binding_name.
|
| 400 |
|
|
|
| 401 |
|
|
2007-11-30 Tobias Burnus
|
| 402 |
|
|
|
| 403 |
|
|
PR fortran/34186
|
| 404 |
|
|
* symbol.c (generate_isocbinding_symbol): Set string length.
|
| 405 |
|
|
* dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
|
| 406 |
|
|
* misc.c (gfc_basic_typename): Handle BT_VOID.
|
| 407 |
|
|
|
| 408 |
|
|
2007-11-29 Steven G. Kargl
|
| 409 |
|
|
|
| 410 |
|
|
PR fortran/34230
|
| 411 |
|
|
* fortran/arith.c (gfc_check_real_range): Set intermediate values
|
| 412 |
|
|
to +-Inf and 0 when -fno-range-check is in effect.
|
| 413 |
|
|
* fortran/invoke.texi: Improve -fno-range-check description.
|
| 414 |
|
|
|
| 415 |
|
|
PR fortran/34203
|
| 416 |
|
|
* fortran/invoke.texi: Document the C escaped characters activated
|
| 417 |
|
|
by -fbackslash.
|
| 418 |
|
|
|
| 419 |
|
|
2007-11-29 Tobias Burnus
|
| 420 |
|
|
|
| 421 |
|
|
PR fortran/34248
|
| 422 |
|
|
* trans-decl.c (generate_dependency_declarations): Check
|
| 423 |
|
|
for NULL pointers before accessing the string length.
|
| 424 |
|
|
|
| 425 |
|
|
2007-11-29 Tobias Burnus
|
| 426 |
|
|
|
| 427 |
|
|
PR fortran/34262
|
| 428 |
|
|
* intrinsic.c (gfc_get_intrinsic_sub_symbol): Add comment.
|
| 429 |
|
|
(gfc_intrinsic_sub_interface): Copy elemental state if needed.
|
| 430 |
|
|
* iresolve.c (gfc_resolve_mvbits): Mark procedure as elemental.
|
| 431 |
|
|
|
| 432 |
|
|
2007-11-28 Jakub Jelinek
|
| 433 |
|
|
|
| 434 |
|
|
* trans-expr.c (gfc_trans_string_copy): Convert both dest and
|
| 435 |
|
|
src to void *.
|
| 436 |
|
|
|
| 437 |
|
|
PR fortran/34247
|
| 438 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): For REFERENCE_TYPE
|
| 439 |
|
|
pass by reference only PARM_DECLs or non-artificial decls.
|
| 440 |
|
|
|
| 441 |
|
|
2007-11-27 Jerry DeLisle
|
| 442 |
|
|
|
| 443 |
|
|
PR fortran/32928
|
| 444 |
|
|
* decl.c (match_data_constant): Use gfc_match_init_expr to match the
|
| 445 |
|
|
array spec and set the initializer expression.
|
| 446 |
|
|
|
| 447 |
|
|
2007-11-27 Jerry DeLisle
|
| 448 |
|
|
|
| 449 |
|
|
PR fortran/34227
|
| 450 |
|
|
* match.c (gfc_match_common): Add additional check for BLOCK DATA.
|
| 451 |
|
|
|
| 452 |
|
|
2007-11-27 Paul Thomas
|
| 453 |
|
|
|
| 454 |
|
|
PR fortran/29389
|
| 455 |
|
|
*resolve.c (resolve_ordinary_assign): Use find_sym_in_expr to
|
| 456 |
|
|
test if a temporary should be written for a vector subscript
|
| 457 |
|
|
on the lhs.
|
| 458 |
|
|
|
| 459 |
|
|
PR fortran/33850
|
| 460 |
|
|
* restore.c (pure_stmt_function): Add prototype and new
|
| 461 |
|
|
function. Calls impure_stmt_fcn.
|
| 462 |
|
|
(pure_function): Call it.
|
| 463 |
|
|
(impure_stmt_fcn): New function.
|
| 464 |
|
|
|
| 465 |
|
|
* expr.c (gfc_traverse_expr): Call *func for all expression
|
| 466 |
|
|
types, not just variables. Add traversal of character lengths,
|
| 467 |
|
|
iterators and component character lengths and arrayspecs.
|
| 468 |
|
|
(expr_set_symbols_referenced): Return false if not a variable.
|
| 469 |
|
|
* trans-stmt.c (forall_replace, forall_restore): Ditto.
|
| 470 |
|
|
* resolve.c (forall_index): Ditto.
|
| 471 |
|
|
(sym_in_expr): New function.
|
| 472 |
|
|
(find_sym_in_expr): Rewrite to traverse expression calling
|
| 473 |
|
|
sym_in_expr.
|
| 474 |
|
|
*trans-decl.c (expr_decls): New function.
|
| 475 |
|
|
(generate_expr_decls): Rewrite to traverse expression calling
|
| 476 |
|
|
expr_decls.
|
| 477 |
|
|
*match.c (check_stmt_fcn): New function.
|
| 478 |
|
|
(recursive_stmt_fcn): Rewrite to traverse expression calling
|
| 479 |
|
|
check_stmt_fcn.
|
| 480 |
|
|
|
| 481 |
|
|
2007-11-27 Paul Thomas
|
| 482 |
|
|
|
| 483 |
|
|
PR fortran/33541
|
| 484 |
|
|
*interface.c (compare_actual_formal): Exclude assumed size
|
| 485 |
|
|
arrays from the possibility of scalar to array mapping.
|
| 486 |
|
|
* decl.c (get_proc_name): Fix whitespace problem.
|
| 487 |
|
|
|
| 488 |
|
|
PR fortran/34231
|
| 489 |
|
|
* gfortran.h : Add 'use_rename' bit to symbol_attribute.
|
| 490 |
|
|
* module.c : Add 'renamed' field to pointer_info.u.rsym.
|
| 491 |
|
|
(load_generic_interfaces): Add 'renamed' that is set after the
|
| 492 |
|
|
number_use_names is called. This is used to set the attribute
|
| 493 |
|
|
use_rename, which, in its turn identifies those symbols that
|
| 494 |
|
|
have not been renamed.
|
| 495 |
|
|
(load_needed): If pointer_info.u.rsym->renamed is set, then
|
| 496 |
|
|
set the use_rename attribute of the symbol.
|
| 497 |
|
|
(read_module): Correct an erroneous use of use_flag. Use the
|
| 498 |
|
|
renamed flag and the use_rename attribute to determine which
|
| 499 |
|
|
symbols are not renamed.
|
| 500 |
|
|
|
| 501 |
|
|
2007-11-26 Steven G. Kargl
|
| 502 |
|
|
|
| 503 |
|
|
PR fortran/34203
|
| 504 |
|
|
* options.c: Change default behavior of backslash processing.
|
| 505 |
|
|
* invoke.texi: Update documentation.
|
| 506 |
|
|
|
| 507 |
|
|
2007-11-25 Jerry DeLisle
|
| 508 |
|
|
|
| 509 |
|
|
PR fortran/33152
|
| 510 |
|
|
* decl.c (add_init_expr_to_sym): Remove error message.
|
| 511 |
|
|
* resolve.c (check_data_variable): Add new check for a data variable
|
| 512 |
|
|
that has an array spec, but no ref and issue an error.
|
| 513 |
|
|
* match.c (gfc_match_common): Remove error message.
|
| 514 |
|
|
|
| 515 |
|
|
2007-11-25 Tobias Burnus
|
| 516 |
|
|
|
| 517 |
|
|
PR fortran/34079
|
| 518 |
|
|
* trans-types.c (gfc_return_by_reference,
|
| 519 |
|
|
gfc_get_function_type): Do not return result of
|
| 520 |
|
|
character-returning bind(C) functions as argument.
|
| 521 |
|
|
* trans-expr.c (gfc_conv_function_call): Ditto.
|
| 522 |
|
|
|
| 523 |
|
|
2007-11-25 Jerry DeLisle
|
| 524 |
|
|
|
| 525 |
|
|
PR fortran/34175
|
| 526 |
|
|
* gfortran.texi: Document default forms assumed for various file
|
| 527 |
|
|
extensions.
|
| 528 |
|
|
|
| 529 |
|
|
2007-11-25 Paul Thomas
|
| 530 |
|
|
|
| 531 |
|
|
PR fortran/33499
|
| 532 |
|
|
* decl.c (get_proc_name): If ENTRY statement occurs before type
|
| 533 |
|
|
specification, set the symbol untyped and ensure that it is in
|
| 534 |
|
|
the procedure namespace.
|
| 535 |
|
|
|
| 536 |
|
|
2007-11-24 Paul Thomas
|
| 537 |
|
|
|
| 538 |
|
|
PR fortran/33541
|
| 539 |
|
|
* module.c (find_symtree_for_symbol): Move to new location.
|
| 540 |
|
|
(find_symbol): New function.
|
| 541 |
|
|
(load_generic_interfaces): Rework completely so that symtrees
|
| 542 |
|
|
have the local name and symbols have the use name. Renamed
|
| 543 |
|
|
generic interfaces exclude the use of the interface without an
|
| 544 |
|
|
ONLY clause (11.3.2).
|
| 545 |
|
|
(read_module): Implement 11.3.2 in the same way as for generic
|
| 546 |
|
|
interfaces.
|
| 547 |
|
|
|
| 548 |
|
|
2007-11-23 Christopher D. Rickett
|
| 549 |
|
|
|
| 550 |
|
|
* trans-common.c (build_common_decl): Fix the alignment for
|
| 551 |
|
|
BIND(C) common blocks.
|
| 552 |
|
|
|
| 553 |
|
|
2007-11-23 Jerry DeLisle
|
| 554 |
|
|
|
| 555 |
|
|
PR fortran/34209
|
| 556 |
|
|
* iresolve.c (gfc_resolve_nearest): If sign variable kind does not match
|
| 557 |
|
|
kind of input variable, convert it to match.
|
| 558 |
|
|
|
| 559 |
|
|
PR fortran/33317
|
| 560 |
|
|
* trans.h: Modify prototype for gfc_conv_missing_dummy.
|
| 561 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Modify to pass an integer kind
|
| 562 |
|
|
parameter in. Set the type of the dummy to the kind given.
|
| 563 |
|
|
(gfc_conv_function_call): Pass representation.length to
|
| 564 |
|
|
gfc_conv_missing_dummy.
|
| 565 |
|
|
* iresolve.c (gfc_resolve_cshift): Determine the correct kind to use and
|
| 566 |
|
|
if appropriate set representation.length to this kind value.
|
| 567 |
|
|
(gfc_resolve_eoshift): Likewise.
|
| 568 |
|
|
* check.c (gfc_check_cshift): Enable dim_check to allow DIM as an
|
| 569 |
|
|
optional argument. (gfc_check_eoshift): Likewise.
|
| 570 |
|
|
* trans_intrinsic.c (gfc_conv_intrinsic_function_args): Update call to
|
| 571 |
|
|
gfc_conv_missing_dummy.
|
| 572 |
|
|
|
| 573 |
|
|
2007-11-23 Tobias Burnus
|
| 574 |
|
|
|
| 575 |
|
|
PR fortran/34187
|
| 576 |
|
|
* module.c (load_needed): Ensure binding_label is not lost.
|
| 577 |
|
|
|
| 578 |
|
|
* decl.c (set_binding_label,gfc_match_bind_c): Replace
|
| 579 |
|
|
strncpy by strcpy.
|
| 580 |
|
|
|
| 581 |
|
|
2007-11-23 Tobias Burnus
|
| 582 |
|
|
Steven G. Kargl
|
| 583 |
|
|
|
| 584 |
|
|
PR fortran/34192
|
| 585 |
|
|
* simplify.c (gfc_simplify_nearest): Fix NEAREST for
|
| 586 |
|
|
subnormal numbers.
|
| 587 |
|
|
|
| 588 |
|
|
2007-11-23 Aldy Hernandez
|
| 589 |
|
|
|
| 590 |
|
|
* trans-expr.c (gfc_trans_string_copy): Use "void *" when building a
|
| 591 |
|
|
memset.
|
| 592 |
|
|
|
| 593 |
|
|
2007-11-22 Tobias Burnus
|
| 594 |
|
|
|
| 595 |
|
|
* primary.c (gfc_match_structure_constructor): Allow
|
| 596 |
|
|
constructor for types without components.
|
| 597 |
|
|
|
| 598 |
|
|
2007-11-22 Tobias Burnus
|
| 599 |
|
|
|
| 600 |
|
|
PR fortran/34079
|
| 601 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not append
|
| 602 |
|
|
string length arguments when calling bind(c) procedures.
|
| 603 |
|
|
* trans-decl.c (create_function_arglist): Do not append
|
| 604 |
|
|
string length arguments when declaring bind(c) procedures.
|
| 605 |
|
|
|
| 606 |
|
|
2007-11-21 Francois-Xavier Coudert
|
| 607 |
|
|
|
| 608 |
|
|
PR fortran/34083
|
| 609 |
|
|
* resolve.c (resolve_structure_cons): Also check for zero rank.
|
| 610 |
|
|
|
| 611 |
|
|
2007-11-19 Jerry DeLisle
|
| 612 |
|
|
|
| 613 |
|
|
PR fortran/33317
|
| 614 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Revert.
|
| 615 |
|
|
* iresolve.c (gfc_resolve_cshift): Revert.
|
| 616 |
|
|
(gfc_resolve_eoshift): Likewise.
|
| 617 |
|
|
* check.c (gfc_check_cshift): Revert.
|
| 618 |
|
|
(gfc_check_eoshift): Likewise.
|
| 619 |
|
|
|
| 620 |
|
|
2007-11-19 Tobias Burnus
|
| 621 |
|
|
|
| 622 |
|
|
PR fortran/34079
|
| 623 |
|
|
* decl.c (gfc_match_entry): Support BIND(C).
|
| 624 |
|
|
(gfc_match_subroutine): Fix comment typo.
|
| 625 |
|
|
|
| 626 |
|
|
2007-11-18 Jerry DeLisle
|
| 627 |
|
|
|
| 628 |
|
|
PR fortran/33317
|
| 629 |
|
|
* trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy
|
| 630 |
|
|
argument to default integer if flagged to do so. Fix typo in comment.
|
| 631 |
|
|
* resolve.c (gfc_resolve_dim_arg): Whitespace cleanup.
|
| 632 |
|
|
* iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute
|
| 633 |
|
|
for converting the DIM type appropriately in trans-expr.c.
|
| 634 |
|
|
(gfc_resolve_eoshift): Likewise.
|
| 635 |
|
|
* check.c (dim_check): Remove pre-existing dead code.
|
| 636 |
|
|
(gfc_check_cshift): Enable dim_check to allow DIM as an optional.
|
| 637 |
|
|
(gfc_check_eoshift): Likewise.
|
| 638 |
|
|
* trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace.
|
| 639 |
|
|
|
| 640 |
|
|
2007-11-18 Paul Thomas
|
| 641 |
|
|
|
| 642 |
|
|
PR fortran/31608
|
| 643 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Remove exception
|
| 644 |
|
|
for indirect references in the call to gfc_trans_scalar_assign.
|
| 645 |
|
|
* trans-expr.c (gfc_conv_string_parameter): Instead of asserting
|
| 646 |
|
|
that the expression is not an indirect reference, cast it to a
|
| 647 |
|
|
pointer type of the length given by se->string_length.
|
| 648 |
|
|
|
| 649 |
|
|
2007-11-18 Tobias Burnus
|
| 650 |
|
|
|
| 651 |
|
|
PR fortran/34137
|
| 652 |
|
|
* primary.c (match_variable): Reject non-result entry symbols.
|
| 653 |
|
|
* resolve.c (resolve_contained_fntype): Do not check entry master
|
| 654 |
|
|
functions.
|
| 655 |
|
|
|
| 656 |
|
|
2007-11-17 Francois-Xavier Coudert
|
| 657 |
|
|
|
| 658 |
|
|
* trans-types.c (gfc_init_types): Use wider buffer.
|
| 659 |
|
|
|
| 660 |
|
|
2007-11-17 Francois-Xavier Coudert
|
| 661 |
|
|
|
| 662 |
|
|
* trans-types.c (gfc_init_types): Use Fortran-90-style type
|
| 663 |
|
|
names, with kinds.
|
| 664 |
|
|
|
| 665 |
|
|
2007-11-17 Tobias Burnus
|
| 666 |
|
|
|
| 667 |
|
|
PR fortran/34133
|
| 668 |
|
|
* decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow
|
| 669 |
|
|
bind(c) attribute for internal procedures.
|
| 670 |
|
|
|
| 671 |
|
|
2007-11-17 Francois-Xavier Coudert
|
| 672 |
|
|
|
| 673 |
|
|
PR fortran/25252
|
| 674 |
|
|
* interface.c (gfc_current_interface_head,
|
| 675 |
|
|
gfc_set_current_interface_head): New functions.
|
| 676 |
|
|
* decl.c (gfc_match_modproc): Move check for syntax error earlier.
|
| 677 |
|
|
On syntax error, restore previous state of the interface.
|
| 678 |
|
|
* gfortran.h (gfc_current_interface_head,
|
| 679 |
|
|
gfc_set_current_interface_head): New prototypes.
|
| 680 |
|
|
|
| 681 |
|
|
2007-11-17 Francois-Xavier Coudert
|
| 682 |
|
|
|
| 683 |
|
|
PR fortran/30285
|
| 684 |
|
|
* module.c (struct written_common, written_commons): New structure.
|
| 685 |
|
|
(compare_written_commons, free_written_common, write_common_0):
|
| 686 |
|
|
New functions.
|
| 687 |
|
|
(write_common): Call recursive function write_common_0.
|
| 688 |
|
|
|
| 689 |
|
|
2007-11-17 Francois-Xavier Coudert
|
| 690 |
|
|
|
| 691 |
|
|
PR fortran/34108
|
| 692 |
|
|
* io.c (check_format_string): Only check character expressions.
|
| 693 |
|
|
(match_dt_format): Return MATCH_ERROR if that is what
|
| 694 |
|
|
gfc_match_st_label said.
|
| 695 |
|
|
|
| 696 |
|
|
2007-11-16 Francois-Xavier Coudert
|
| 697 |
|
|
|
| 698 |
|
|
PR fortran/33957
|
| 699 |
|
|
* expr.c (check_inquiry): Don't call gfc_error now.
|
| 700 |
|
|
|
| 701 |
|
|
2007-11-16 Francois-Xavier Coudert
|
| 702 |
|
|
|
| 703 |
|
|
PR fortran/33739
|
| 704 |
|
|
PR fortran/34084
|
| 705 |
|
|
* scanner.c (start_source_file, end_source_file,
|
| 706 |
|
|
exit_remaining_files, gfc_advance_line): Revert rev. 130016.
|
| 707 |
|
|
|
| 708 |
|
|
2007-11-16 Paul Thomas
|
| 709 |
|
|
|
| 710 |
|
|
PR fortran/34008
|
| 711 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): Add check for
|
| 712 |
|
|
INTENT_INOUT as well as INTENT_OUT.
|
| 713 |
|
|
(gfc_trans_call): Remove redundant gcc_asserts in dependency
|
| 714 |
|
|
check.
|
| 715 |
|
|
|
| 716 |
|
|
2007-11-16 Paul Thomas
|
| 717 |
|
|
|
| 718 |
|
|
PR fortran/33986
|
| 719 |
|
|
* trans-array.c (gfc_conv_array_parameter ): Allow allocatable
|
| 720 |
|
|
function results.
|
| 721 |
|
|
|
| 722 |
|
|
2007-11-15 Tobias Burnus
|
| 723 |
|
|
|
| 724 |
|
|
PR fortran/33917
|
| 725 |
|
|
* decl.c (match_procedure_decl): Pre-resolve interface.
|
| 726 |
|
|
* resolve.c (resolve_symbol): Reject interfaces later
|
| 727 |
|
|
declared in procedure statements.
|
| 728 |
|
|
|
| 729 |
|
|
2007-11-13 Jerry DeLisle
|
| 730 |
|
|
|
| 731 |
|
|
PR fortran/33162
|
| 732 |
|
|
* decl.c (match_procedure_decl): Remove TODO and allow intrinsics in
|
| 733 |
|
|
PROCEDURE declarations. Set attr.untyped to allow the interface to be
|
| 734 |
|
|
resolved later where the symbol type will be set.
|
| 735 |
|
|
* interface.c (compare_intr_interfaces): Remove static from pointer
|
| 736 |
|
|
declarations. Add type and kind checks for dummy function arguments.
|
| 737 |
|
|
(compare_actual_formal_intr): New function to compare an actual
|
| 738 |
|
|
argument with an intrinsic function. (gfc_procedures_use): Add check for
|
| 739 |
|
|
interface that points to an intrinsic function, use the new function.
|
| 740 |
|
|
* resolve.c (resolve_specific_f0): Resolve the intrinsic interface.
|
| 741 |
|
|
(resolve_specific_s0): Ditto.
|
| 742 |
|
|
|
| 743 |
|
|
2007-11-13 Paul Thomas
|
| 744 |
|
|
|
| 745 |
|
|
PR fortran/34080
|
| 746 |
|
|
* iresolve.c (gfc_resolve_transfer): Do not try to convert
|
| 747 |
|
|
to a constant MOLD expression, if it is an assumed size
|
| 748 |
|
|
dummy.
|
| 749 |
|
|
|
| 750 |
|
|
2007-11-10 Francois-Xavier Coudert
|
| 751 |
|
|
|
| 752 |
|
|
* trans-common.c: Remove prototype for gfc_get_common.
|
| 753 |
|
|
|
| 754 |
|
|
2007-11-10 Francois-Xavier Coudert
|
| 755 |
|
|
|
| 756 |
|
|
PR fortran/33592
|
| 757 |
|
|
* trans.c (gfc_call_realloc): Fix the logic and rename variables.
|
| 758 |
|
|
|
| 759 |
|
|
2007-11-08 Francois-Xavier Coudert
|
| 760 |
|
|
|
| 761 |
|
|
PR fortran/33739
|
| 762 |
|
|
* scanner.c (start_source_file, end_source_file,
|
| 763 |
|
|
exit_remaining_files): New functions.
|
| 764 |
|
|
(gfc_advance_line): Use the new functions.
|
| 765 |
|
|
|
| 766 |
|
|
2007-11-08 Francois-Xavier Coudert
|
| 767 |
|
|
|
| 768 |
|
|
PR fortran/34028
|
| 769 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.
|
| 770 |
|
|
|
| 771 |
|
|
2007-11-08 Tobias Burnus
|
| 772 |
|
|
|
| 773 |
|
|
PR fortran/33917
|
| 774 |
|
|
* interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
|
| 775 |
|
|
procedures for MODULE PROCEDURE.
|
| 776 |
|
|
* decl.c (match_procedure_in_interface): Do not mark as procedure.
|
| 777 |
|
|
|
| 778 |
|
|
2007-11-03 Francois-Xavier Coudert
|
| 779 |
|
|
|
| 780 |
|
|
PR fortran/33881
|
| 781 |
|
|
* trans-array.c (gfc_conv_array_parameter): Evaluate
|
| 782 |
|
|
se->string_length instead of the expr->ts.cl->backend_decl.
|
| 783 |
|
|
|
| 784 |
|
|
2007-11-03 Francois-Xavier Coudert
|
| 785 |
|
|
|
| 786 |
|
|
* gfortran.h: Shorten comment.
|
| 787 |
|
|
* trans-types.c (gfc_get_function_type): Allow argument to have
|
| 788 |
|
|
flavor FL_PROGRAM.
|
| 789 |
|
|
* trans-decl.c (gfc_sym_mangled_function_id): Mangle main program
|
| 790 |
|
|
name into MAIN__.
|
| 791 |
|
|
(build_function_decl): Fix comment.
|
| 792 |
|
|
* parse.c (main_program_symbol): Give the main program its proper
|
| 793 |
|
|
name, if any. Set its flavor to FL_PROGRAM.
|
| 794 |
|
|
(gfc_parse_file): Likewise.
|
| 795 |
|
|
|
| 796 |
|
|
2007-11-02 Francois-Xavier Coudert
|
| 797 |
|
|
|
| 798 |
|
|
* intrinsic.texi (ALLOCATED): Fix typo.
|
| 799 |
|
|
|
| 800 |
|
|
2007-10-31 Tobias Burnus
|
| 801 |
|
|
|
| 802 |
|
|
PR fortran/33941
|
| 803 |
|
|
* modules.c (intrinsics): Use only alphabetic names for
|
| 804 |
|
|
intrinsic operators.
|
| 805 |
|
|
|
| 806 |
|
|
2007-10-31 Jerry DeLisle
|
| 807 |
|
|
|
| 808 |
|
|
PR fortran/33162
|
| 809 |
|
|
* interface.c (compare_intr_interfaces): New function to check intrinsic
|
| 810 |
|
|
function arguments against formal arguments. (compare_interfaces): Fix
|
| 811 |
|
|
logic in comparison of function and subroutine attributes.
|
| 812 |
|
|
(compare_parameter): Use new function for intrinsic as argument.
|
| 813 |
|
|
* resolve.c (resolve_actual_arglist): Allow an intrinsic without
|
| 814 |
|
|
function attribute to be checked further. Set function attribute if
|
| 815 |
|
|
intrinsic symbol is found, return FAILURE if not.
|
| 816 |
|
|
|
| 817 |
|
|
2007-10-31 Paul Thomas
|
| 818 |
|
|
|
| 819 |
|
|
PR fortran/33897
|
| 820 |
|
|
* decl.c (gfc_match_entry): Do not make ENTRY name
|
| 821 |
|
|
global for contained procedures.
|
| 822 |
|
|
* parse.c (gfc_fixup_sibling_symbols): Fix code for
|
| 823 |
|
|
determining whether a procedure is external.
|
| 824 |
|
|
|
| 825 |
|
|
2007-10-30 Francois-Xavier Coudert
|
| 826 |
|
|
|
| 827 |
|
|
PR fortran/33596
|
| 828 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
|
| 829 |
|
|
from the result of build_call_expr.
|
| 830 |
|
|
|
| 831 |
|
|
2007-10-29 Paul Thomas
|
| 832 |
|
|
|
| 833 |
|
|
PR fortran/31217
|
| 834 |
|
|
PR fortran/33811
|
| 835 |
|
|
PR fortran/33686
|
| 836 |
|
|
|
| 837 |
|
|
* trans-array.c (gfc_conv_loop_setup): Send a complete type to
|
| 838 |
|
|
gfc_trans_create_temp_array if the temporary is character.
|
| 839 |
|
|
* trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
|
| 840 |
|
|
allocate_temp_for_forall_nest.
|
| 841 |
|
|
(forall_replace): New function.
|
| 842 |
|
|
(forall_replace_symtree): New function.
|
| 843 |
|
|
(forall_restore): New function.
|
| 844 |
|
|
(forall_restore_symtree): New function.
|
| 845 |
|
|
(forall_make_variable_temp): New function.
|
| 846 |
|
|
(check_forall_dependencies): New function.
|
| 847 |
|
|
(cleanup_forall_symtrees): New function.
|
| 848 |
|
|
gfc_trans_forall_1): Add and initialize pre and post blocks.
|
| 849 |
|
|
Call check_forall_dependencies to check for all dependencies
|
| 850 |
|
|
and either trigger second forall block to copy temporary or
|
| 851 |
|
|
copy lval, outside the forall construct and replace all
|
| 852 |
|
|
dependent references. After assignment clean-up and coalesce
|
| 853 |
|
|
the blocks at the end of the function.
|
| 854 |
|
|
* gfortran.h : Add prototypes for gfc_traverse_expr and
|
| 855 |
|
|
find_forall_index.
|
| 856 |
|
|
expr.c (gfc_traverse_expr): New function to traverse expression
|
| 857 |
|
|
and visit all subexpressions, under control of a logical flag,
|
| 858 |
|
|
a symbol and an integer pointer. The slave function is caller
|
| 859 |
|
|
defined and is only called on EXPR_VARIABLE.
|
| 860 |
|
|
(expr_set_symbols_referenced): Called by above to set symbols
|
| 861 |
|
|
referenced.
|
| 862 |
|
|
(gfc_expr_set_symbols_referenced): Rework of this function to
|
| 863 |
|
|
use two new functions above.
|
| 864 |
|
|
* resolve.c (find_forall_index): Rework with gfc_traverse_expr,
|
| 865 |
|
|
using forall_index.
|
| 866 |
|
|
(forall_index): New function used by previous.
|
| 867 |
|
|
* dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
|
| 868 |
|
|
all references, not just REF_ARRAY.
|
| 869 |
|
|
(gfc_dep_resolver): Correct the logic for substrings so that
|
| 870 |
|
|
overlapping arrays are handled correctly.
|
| 871 |
|
|
|
| 872 |
|
|
2007-10-28 Tobias Schlüter
|
| 873 |
|
|
|
| 874 |
|
|
PR fortran/32147
|
| 875 |
|
|
* module.c (write_symbol): Fix whitespace.
|
| 876 |
|
|
(write_symbol0): Walk symtree from left-to-right instead
|
| 877 |
|
|
breadth-first.
|
| 878 |
|
|
(write_symbol1): Similarly change walk of pointer info tree.
|
| 879 |
|
|
(write_module): Insert linebreak.
|
| 880 |
|
|
* symbol.c (gfc_traverse_symtree): Change to left-to-right order.
|
| 881 |
|
|
(traverse_ns): Likewise.
|
| 882 |
|
|
|
| 883 |
|
|
2007-10-27 Jerry DeLisle
|
| 884 |
|
|
|
| 885 |
|
|
PR fortran/31306
|
| 886 |
|
|
* decl.c (char_len_param_value): Add check for conflicting attributes of
|
| 887 |
|
|
function argument.
|
| 888 |
|
|
|
| 889 |
|
|
2007-10-27 Tobias Burnus
|
| 890 |
|
|
|
| 891 |
|
|
PR fortran/33862
|
| 892 |
|
|
* lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
|
| 893 |
|
|
* options.c (form_from_filename): Support .ftn extension.
|
| 894 |
|
|
* gfortran.texi: Document support of .for and .ftn file extension.
|
| 895 |
|
|
|
| 896 |
|
|
2007-10-26 Jerry DeLisle
|
| 897 |
|
|
|
| 898 |
|
|
PR fortran/33162
|
| 899 |
|
|
* intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
|
| 900 |
|
|
gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
|
| 901 |
|
|
* intrinsic.c (add_functions): Add double precision checks for dabs,
|
| 902 |
|
|
dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
|
| 903 |
|
|
dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
|
| 904 |
|
|
dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
|
| 905 |
|
|
Add real check dprod.
|
| 906 |
|
|
* check.c (gfc_check_datan2): New function to check for double precision
|
| 907 |
|
|
argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
|
| 908 |
|
|
|
| 909 |
|
|
2007-10-26 Jerry DeLisle
|
| 910 |
|
|
|
| 911 |
|
|
* invoke.texi: Fix typo in -fmax-errors=.
|
| 912 |
|
|
|
| 913 |
|
|
2007-10-26 Francois-Xavier Coudert
|
| 914 |
|
|
|
| 915 |
|
|
PR fortran/29784
|
| 916 |
|
|
* gfortran.texi: Document that there is no logical/integer
|
| 917 |
|
|
conversion performed during I/O operations.
|
| 918 |
|
|
|
| 919 |
|
|
2007-10-22 Jerry DeLisle
|
| 920 |
|
|
|
| 921 |
|
|
PR fortran/33849
|
| 922 |
|
|
* resolve.c (resolve_actual_arglist): Fix error message text.
|
| 923 |
|
|
|
| 924 |
|
|
2007-10-22 Steven G. Kargl
|
| 925 |
|
|
|
| 926 |
|
|
PR fortran/31244
|
| 927 |
|
|
* gfortran.h (gfc_data_value): Change repeat from unsigned int
|
| 928 |
|
|
to mpz_t.
|
| 929 |
|
|
* decl.c(top_val_list): Remove msg variable. Use mpz_t for
|
| 930 |
|
|
repeat count.
|
| 931 |
|
|
* resolve.c (values): Change left from unsigned int to mpz_t.
|
| 932 |
|
|
(next_data_value): Change for mpz_t.
|
| 933 |
|
|
(check_data_variable): Change ??? to FIXME in a comment. Use
|
| 934 |
|
|
"mpz_t left".
|
| 935 |
|
|
(resolve_data ): Use "mpz_t left".
|
| 936 |
|
|
|
| 937 |
|
|
2007-10-21 Paul Thomas
|
| 938 |
|
|
|
| 939 |
|
|
PR fortran/33749
|
| 940 |
|
|
* resolve.c (resolve_ordinary_assign): New function that takes
|
| 941 |
|
|
the code to resolve an assignment from resolve_code. In
|
| 942 |
|
|
addition, it makes a temporary of any vector index, on the
|
| 943 |
|
|
lhs, using gfc_get_parentheses.
|
| 944 |
|
|
(resolve_code): On EXEC_ASSIGN call the new function.
|
| 945 |
|
|
|
| 946 |
|
|
2007-10-20 Tobias Burnus
|
| 947 |
|
|
|
| 948 |
|
|
PR fortran/33818
|
| 949 |
|
|
* resolve.c (resolve_variable): Check that symbol is in the same
|
| 950 |
|
|
namespace as the entry function.
|
| 951 |
|
|
|
| 952 |
|
|
2007-10-20 Paul Thomas
|
| 953 |
|
|
FX Coudert
|
| 954 |
|
|
|
| 955 |
|
|
PR fortran/31608
|
| 956 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): For all except
|
| 957 |
|
|
indirect references, use gfc_trans_scalar_assign instead of
|
| 958 |
|
|
gfc_add_modify_expr.
|
| 959 |
|
|
* iresolve.c (check_charlen_present): Separate creation of cl
|
| 960 |
|
|
if necessary and add code to treat an EXPR_ARRAY.
|
| 961 |
|
|
(gfc_resolve_char_achar): New function.
|
| 962 |
|
|
(gfc_resolve_achar, gfc_resolve_char): Call it.
|
| 963 |
|
|
(gfc_resolve_transfer): If the MOLD expression does not have a
|
| 964 |
|
|
character length expression, get it from a constant length.
|
| 965 |
|
|
|
| 966 |
|
|
2007-10-19 Jerry DeLisle
|
| 967 |
|
|
|
| 968 |
|
|
PR fortran/33544
|
| 969 |
|
|
* simplify.c (gfc_simplify_transfer): Only warn for short transfer when
|
| 970 |
|
|
-Wsurprising is given.
|
| 971 |
|
|
* invoke.texi: Document revised behavior.
|
| 972 |
|
|
|
| 973 |
|
|
2007-10-18 Jerry DeLisle
|
| 974 |
|
|
|
| 975 |
|
|
PR fortran/33795
|
| 976 |
|
|
* gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED
|
| 977 |
|
|
environment variable. Delete mention of environment variable
|
| 978 |
|
|
GFORTRAN_UNBUFFERED_n.
|
| 979 |
|
|
|
| 980 |
|
|
2007-10-18 Paul Thomas
|
| 981 |
|
|
|
| 982 |
|
|
PR fortran/33233
|
| 983 |
|
|
* resolve.c (check_host_association): Check singly contained
|
| 984 |
|
|
namespaces and start search for symbol in current namespace.
|
| 985 |
|
|
|
| 986 |
|
|
2007-10-18 Paul Thomas
|
| 987 |
|
|
Dominique d'Humières
|
| 988 |
|
|
|
| 989 |
|
|
PR fortran/33733
|
| 990 |
|
|
* simplify.c (gfc_simplify_transfer): Return null if the source
|
| 991 |
|
|
expression is EXPR_FUNCTION.
|
| 992 |
|
|
|
| 993 |
|
|
2007-10-17 Christopher D. Rickett
|
| 994 |
|
|
|
| 995 |
|
|
PR fortran/33760
|
| 996 |
|
|
* symbol.c (gen_special_c_interop_ptr): Remove code to create
|
| 997 |
|
|
constructor for c_null_ptr and c_null_funptr with value of 0.
|
| 998 |
|
|
* expr.c (check_init_expr): Prevent check on constructors for
|
| 999 |
|
|
iso_c_binding derived types.
|
| 1000 |
|
|
* resolve.c (resolve_structure_cons): Verify that the user isn't
|
| 1001 |
|
|
trying to invoke a structure constructor for one of the
|
| 1002 |
|
|
iso_c_binding derived types.
|
| 1003 |
|
|
|
| 1004 |
|
|
2007-10-15 Christopher D. Rickett
|
| 1005 |
|
|
|
| 1006 |
|
|
PR fortran/32600
|
| 1007 |
|
|
* trans-expr.c (gfc_conv_function_call): Generate code to inline
|
| 1008 |
|
|
c_associated.
|
| 1009 |
|
|
* symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id
|
| 1010 |
|
|
attributes in the resolved symbol.
|
| 1011 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Remove dead code.
|
| 1012 |
|
|
|
| 1013 |
|
|
2007-10-15 Jerry DeLisle
|
| 1014 |
|
|
|
| 1015 |
|
|
PR fortran/33055
|
| 1016 |
|
|
* trans-io.c (create_dummy_iostat): New function to create a unique
|
| 1017 |
|
|
dummy variable expression to use with IOSTAT.
|
| 1018 |
|
|
(gfc_trans_inquire): Use the new function to pass unit number error info
|
| 1019 |
|
|
to run-time library if a regular IOSTAT variable was not given.
|
| 1020 |
|
|
|
| 1021 |
|
|
2007-10-14 Tobias Burnus
|
| 1022 |
|
|
|
| 1023 |
|
|
PR fortran/33745
|
| 1024 |
|
|
* trans-array.c (gfc_conv_ss_startstride): Fix dimension check.
|
| 1025 |
|
|
(gfc_trans_array_bound_check, gfc_conv_array_ref,
|
| 1026 |
|
|
gfc_conv_ss_startstride): Simplify error message.
|
| 1027 |
|
|
* resolve.c (check_dimension): Fix dimension-type switch;
|
| 1028 |
|
|
improve error message.
|
| 1029 |
|
|
|
| 1030 |
|
|
2007-10-13 Tobias Schlüter
|
| 1031 |
|
|
Paul Thomas
|
| 1032 |
|
|
|
| 1033 |
|
|
PR fortran/33254
|
| 1034 |
|
|
PR fortran/33727
|
| 1035 |
|
|
* trans-array.c (get_array_ctor_var_strlen): Check upper bound for
|
| 1036 |
|
|
constness instead of lower bound.
|
| 1037 |
|
|
(get_array_ctor_strlen): Add bounds-checking code.
|
| 1038 |
|
|
|
| 1039 |
|
|
2007-10-12 Paul Thomas
|
| 1040 |
|
|
|
| 1041 |
|
|
PR fortran/33542
|
| 1042 |
|
|
* resolve.c (resolve_actual_arglist): If the actual argument is
|
| 1043 |
|
|
ambiguous, then there is an error.
|
| 1044 |
|
|
|
| 1045 |
|
|
2007-10-12 Paul Thomas
|
| 1046 |
|
|
|
| 1047 |
|
|
PR fortran/33664
|
| 1048 |
|
|
* expr.c (gfc_specification_expr): If a function is not
|
| 1049 |
|
|
external, intrinsic or pure is an error. Set the symbol pure
|
| 1050 |
|
|
to prevent repeat errors.
|
| 1051 |
|
|
|
| 1052 |
|
|
2007-10-10 Francois-Xavier Coudert
|
| 1053 |
|
|
|
| 1054 |
|
|
PR fortran/33636
|
| 1055 |
|
|
* expr.c (find_array_section): Check for constructor constantness.
|
| 1056 |
|
|
|
| 1057 |
|
|
2007-10-08 Tobias Schlüter
|
| 1058 |
|
|
|
| 1059 |
|
|
PR fortran/33689
|
| 1060 |
|
|
* resolve.c (gfc_resolve_expr): Fix indentation.
|
| 1061 |
|
|
(resolve_fl_variable_derived): Rename argument.
|
| 1062 |
|
|
(resolve_fl_variable): Fix case in message. Clarify logic.
|
| 1063 |
|
|
Correctly simplify array bounds.
|
| 1064 |
|
|
|
| 1065 |
|
|
2007-10-07 Thomas Koenig
|
| 1066 |
|
|
|
| 1067 |
|
|
PR libfortran/33683
|
| 1068 |
|
|
* mathbuiltins.def (GAMMA): Change function name to
|
| 1069 |
|
|
"tgamma" instad of "gamma".
|
| 1070 |
|
|
|
| 1071 |
|
|
2007-10-07 Tobias Schlüter
|
| 1072 |
|
|
|
| 1073 |
|
|
PR fortran/20851
|
| 1074 |
|
|
* expr.c (check_inquiry): Typo fix in error message.
|
| 1075 |
|
|
(check_init_expr): Same * 3.
|
| 1076 |
|
|
(check_restricted): Verify that no dummy arguments appear in
|
| 1077 |
|
|
restricted expressions in ELEMENTAL procedures.
|
| 1078 |
|
|
* resolve.c (resolve_fl_variable): Exchange order of checks to
|
| 1079 |
|
|
avoid side-effect.
|
| 1080 |
|
|
|
| 1081 |
|
|
2007-10-06 Jerry DeLisle
|
| 1082 |
|
|
|
| 1083 |
|
|
PR fortran/33609
|
| 1084 |
|
|
* simplify.c (range_check): Return gfc_bad_expr if incoming expression
|
| 1085 |
|
|
is NULL.
|
| 1086 |
|
|
|
| 1087 |
|
|
2007-10-06 Tobias Schlüter
|
| 1088 |
|
|
|
| 1089 |
|
|
* simplify.c (gfc_simplify_size): Fix typo.
|
| 1090 |
|
|
|
| 1091 |
|
|
2007-10-06 Tobias Schlüter
|
| 1092 |
|
|
|
| 1093 |
|
|
PR fortran/25076
|
| 1094 |
|
|
* resolve.c (gfc_find_forall_index): Move towards top,
|
| 1095 |
|
|
renaming to ...
|
| 1096 |
|
|
(find_forall_index): ... this. Add check for NULL expr.
|
| 1097 |
|
|
(resolve_forall_iterators): Verify additional constraint.
|
| 1098 |
|
|
(resolve_forall): Remove checks obsoleted by new code in
|
| 1099 |
|
|
resolve_forall_iterators.
|
| 1100 |
|
|
|
| 1101 |
|
|
2007-10-05 Francois-Xavier Coudert
|
| 1102 |
|
|
|
| 1103 |
|
|
* gfortran.h (gfc_get_data_variable, gfc_get_data_value,
|
| 1104 |
|
|
gfc_get_data): Move to decl.c.
|
| 1105 |
|
|
(global_used): Rename into gfc_global_used.
|
| 1106 |
|
|
(gfc_formalize_init_value, gfc_get_section_index,
|
| 1107 |
|
|
gfc_assign_data_value, gfc_assign_data_value_range,
|
| 1108 |
|
|
gfc_advance_section): Move to data.h.
|
| 1109 |
|
|
(gfc_set_in_match_data): Remove.
|
| 1110 |
|
|
* decl.c (gfc_get_data_variable, gfc_get_data_value,
|
| 1111 |
|
|
gfc_get_data): Move here.
|
| 1112 |
|
|
(gfc_set_in_match_data): Rename into set_in_match_data.
|
| 1113 |
|
|
(gfc_match_data): Likewise.
|
| 1114 |
|
|
(add_global_entry): Rename global_used into gfc_global_used.
|
| 1115 |
|
|
* data.c: Include data.h.
|
| 1116 |
|
|
* trans.h (gfc_todo_error): Remove.
|
| 1117 |
|
|
* trans-array.c (gfc_trans_array_constructor,
|
| 1118 |
|
|
gfc_conv_ss_startstride, gfc_conv_loop_setup): Change
|
| 1119 |
|
|
gfc_todo_error into assertions.
|
| 1120 |
|
|
* resolve.c (resolve_global_procedure): Rename global_used into
|
| 1121 |
|
|
gfc_global_used.
|
| 1122 |
|
|
* parse.c (gfc_global_used, parse_module, add_global_procedure,
|
| 1123 |
|
|
add_global_program): Likewise.
|
| 1124 |
|
|
* trans-intrinsic.c (gfc_walk_intrinsic_function): Rename
|
| 1125 |
|
|
global_used into gfc_global_used.
|
| 1126 |
|
|
* Make-lang.in: Add dependencies on fortran/data.h.
|
| 1127 |
|
|
* data.h: New file.
|
| 1128 |
|
|
|
| 1129 |
|
|
2007-10-04 Francois-Xavier Coudert
|
| 1130 |
|
|
|
| 1131 |
|
|
PR fortran/33529
|
| 1132 |
|
|
* decl.c (match_char_kind): New function.
|
| 1133 |
|
|
(match_char_spec): Use match_char_kind.
|
| 1134 |
|
|
|
| 1135 |
|
|
2007-10-04 Francois-Xavier Coudert
|
| 1136 |
|
|
|
| 1137 |
|
|
PR fortran/33502
|
| 1138 |
|
|
* scanner.c (gfc_advance_line): Call debug_hooks->end_source_file
|
| 1139 |
|
|
and debug_hooks->start_source_file when appropriate, and set
|
| 1140 |
|
|
dbg_emitted.
|
| 1141 |
|
|
(gfc_define_undef_line): New function.
|
| 1142 |
|
|
(load_file): Don't error out on #define and #undef lines.
|
| 1143 |
|
|
* parse.c (next_statement): Call gfc_define_undef_line.
|
| 1144 |
|
|
(gfc_parse_file): Call debug_hooks->start_source_file and
|
| 1145 |
|
|
debug_hooks->end_source_file for the main source file if
|
| 1146 |
|
|
required.
|
| 1147 |
|
|
* gfortran.h (gfc_linebuf): Add dbg_emitted field.
|
| 1148 |
|
|
(gfc_define_undef_line): New prototype.
|
| 1149 |
|
|
|
| 1150 |
|
|
2007-10-04 Tobias Schlüter
|
| 1151 |
|
|
|
| 1152 |
|
|
PR fortran/33626
|
| 1153 |
|
|
* resolve.c (resolve_operator): Always copy the type for
|
| 1154 |
|
|
expressions in parentheses.
|
| 1155 |
|
|
|
| 1156 |
|
|
2007-10-04 Paul Thomas
|
| 1157 |
|
|
|
| 1158 |
|
|
PR fortran/33646
|
| 1159 |
|
|
PR fortran/33542
|
| 1160 |
|
|
* interface.c (check_interface1): Revert patch of 10-02.
|
| 1161 |
|
|
|
| 1162 |
|
|
2007-10-03 Francois-Xavier Coudert
|
| 1163 |
|
|
|
| 1164 |
|
|
PR fortran/26682
|
| 1165 |
|
|
* trans-decl.c (build_function_decl): Set "externally_visible"
|
| 1166 |
|
|
attribute on the MAIN program decl.
|
| 1167 |
|
|
|
| 1168 |
|
|
2007-10-03 Tobias Schlüter
|
| 1169 |
|
|
|
| 1170 |
|
|
PR fortran/33198
|
| 1171 |
|
|
* resolve.c (has_default_initializer): Move to top. Make bool.
|
| 1172 |
|
|
(resolve_common_blocks): Simplify logic. Add case for derived
|
| 1173 |
|
|
type initialization.
|
| 1174 |
|
|
(resolve_fl_variable_derived): Split out from ...
|
| 1175 |
|
|
(resolve_fl_variable): ... here, while adapting to new h_d_i
|
| 1176 |
|
|
interface.
|
| 1177 |
|
|
|
| 1178 |
|
|
2007-10-03 Francois-Xavier Coudert
|
| 1179 |
|
|
|
| 1180 |
|
|
PR fortran/26682
|
| 1181 |
|
|
* options.c (gfc_post_options): Issue an error when
|
| 1182 |
|
|
-fwhole-program is used.
|
| 1183 |
|
|
|
| 1184 |
|
|
2007-10-02 Paul Thomas
|
| 1185 |
|
|
|
| 1186 |
|
|
PR fortran/33542
|
| 1187 |
|
|
* interface.c (check_interface1): Specific procedures are
|
| 1188 |
|
|
always ambiguous if they have the same name.
|
| 1189 |
|
|
|
| 1190 |
|
|
2007-10-02 Paul Thomas
|
| 1191 |
|
|
|
| 1192 |
|
|
PR fortran/33566
|
| 1193 |
|
|
* primary.c (gfc_match_rvalue): Make all expressions with array
|
| 1194 |
|
|
references to structure parameters into variable expressions.
|
| 1195 |
|
|
|
| 1196 |
|
|
2007-10-02 Paul Thomas
|
| 1197 |
|
|
|
| 1198 |
|
|
PR fortran/33554
|
| 1199 |
|
|
* trans-decl.c (init_intent_out_dt): New function.
|
| 1200 |
|
|
(gfc_trans_deferred_vars): Remove the code for default
|
| 1201 |
|
|
initialization of INTENT(OUT) derived types and put it
|
| 1202 |
|
|
in the new function. Call it earlier than before, so
|
| 1203 |
|
|
that array offsets and lower bounds are available.
|
| 1204 |
|
|
|
| 1205 |
|
|
2007-10-02 Paul Thomas
|
| 1206 |
|
|
|
| 1207 |
|
|
PR fortran/33550
|
| 1208 |
|
|
* decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
|
| 1209 |
|
|
the name is a reference to an ambiguous symbol.
|
| 1210 |
|
|
|
| 1211 |
|
|
2007-10-02 Paul Thomas
|
| 1212 |
|
|
|
| 1213 |
|
|
PR fortran/31154
|
| 1214 |
|
|
PR fortran/31229
|
| 1215 |
|
|
PR fortran/33334
|
| 1216 |
|
|
* decl.c : Declare gfc_function_kind_locs and
|
| 1217 |
|
|
gfc_function_type_locus.
|
| 1218 |
|
|
(gfc_match_kind_spec): Add second argument kind_expr_only.
|
| 1219 |
|
|
Store locus before trying to match the expression. If the
|
| 1220 |
|
|
current state corresponds to a function declaration and there
|
| 1221 |
|
|
is no match to the expression, read to the parenthesis, return
|
| 1222 |
|
|
kind = -1, dump the expression and return.
|
| 1223 |
|
|
(gfc_match_type_spec): Renamed from match_type_spec and all
|
| 1224 |
|
|
references changed. If an interface or an external function,
|
| 1225 |
|
|
store the locus, set kind = -1 and return. Otherwise, if kind
|
| 1226 |
|
|
is already = -1, use gfc_find_symbol to try to find a use
|
| 1227 |
|
|
associated or imported type.
|
| 1228 |
|
|
match.h : Prototype for gfc_match_type_spec.
|
| 1229 |
|
|
* parse.c (match_deferred_characteristics): New function.
|
| 1230 |
|
|
(parse_spec): If in a function, statement is USE or IMPORT
|
| 1231 |
|
|
or DERIVED_DECL and the function kind=-1, call
|
| 1232 |
|
|
match_deferred_characteristics. If kind=-1 at the end of the
|
| 1233 |
|
|
specification expressions, this is an error.
|
| 1234 |
|
|
* parse.h : Declare external gfc_function_kind_locs and
|
| 1235 |
|
|
gfc_function_type_locus.
|
| 1236 |
|
|
|
| 1237 |
|
|
2007-09-27 Kaveh R. Ghazi
|
| 1238 |
|
|
|
| 1239 |
|
|
* module.c (mio_expr): Avoid -Wcast-qual warning.
|
| 1240 |
|
|
|
| 1241 |
|
|
2007-09-27 Tobias Schlüter
|
| 1242 |
|
|
|
| 1243 |
|
|
* arith.c (reduce_binary_aa): Fix capitalization.
|
| 1244 |
|
|
* check.c (gfc_check_dot_product): Likewise.
|
| 1245 |
|
|
(gfc_check_matmul): Likewise.
|
| 1246 |
|
|
* expr.c (gfc_check_conformance): Likewise.
|
| 1247 |
|
|
(gfc_check_assign): Likewise.
|
| 1248 |
|
|
(gfc_default_initializer): Simplify logic.
|
| 1249 |
|
|
* trans.c (gfc_msg_bounds): Make const.
|
| 1250 |
|
|
(gfc_msg_fault): Likewise.
|
| 1251 |
|
|
(gfc_msg_wrong_return): Likewise.
|
| 1252 |
|
|
* trans.h: Add const to corresponding extern declarations.
|
| 1253 |
|
|
|
| 1254 |
|
|
2007-09-27 Paul Thomas
|
| 1255 |
|
|
|
| 1256 |
|
|
PR fortran/33568
|
| 1257 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the
|
| 1258 |
|
|
possibility of the optional KIND argument by making arg
|
| 1259 |
|
|
an array, counting the number of arguments and using arg[0].
|
| 1260 |
|
|
|
| 1261 |
|
|
2007-09-26 Francois-Xavier Coudert
|
| 1262 |
|
|
|
| 1263 |
|
|
PR fortran/30780
|
| 1264 |
|
|
* invoke.texi: Add note to -ffpe-trap option. Fix typos.
|
| 1265 |
|
|
|
| 1266 |
|
|
2007-09-23 Tobias Schlüter
|
| 1267 |
|
|
|
| 1268 |
|
|
PR fortran/33269
|
| 1269 |
|
|
* io.c (check_format_string): Move NULL and constant checks into
|
| 1270 |
|
|
this function.
|
| 1271 |
|
|
(check_io_constraints): Call gfc_simplify_expr() before calling
|
| 1272 |
|
|
check_format_string(). Remove NULL and constant checks.
|
| 1273 |
|
|
|
| 1274 |
|
|
2007-09-24 Francois-Xavier Coudert
|
| 1275 |
|
|
|
| 1276 |
|
|
PR fortran/33538
|
| 1277 |
|
|
* scanner.c, parse.c, gfortran.h: Revert revision 128671.
|
| 1278 |
|
|
|
| 1279 |
|
|
2007-09-23 Francois-Xavier Coudert
|
| 1280 |
|
|
|
| 1281 |
|
|
PR fortran/33528
|
| 1282 |
|
|
* scanner.c (preprocessor_line): Call linemap_add when exiting
|
| 1283 |
|
|
a file.
|
| 1284 |
|
|
(gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.
|
| 1285 |
|
|
|
| 1286 |
|
|
2007-09-22 Francois-Xavier Coudert
|
| 1287 |
|
|
|
| 1288 |
|
|
PR fortran/33522
|
| 1289 |
|
|
* trans-types.c (gfc_get_desc_dim_type): Mark artificial
|
| 1290 |
|
|
variables with TREE_NO_WARNING.
|
| 1291 |
|
|
(gfc_get_array_descriptor_base): Likewise.
|
| 1292 |
|
|
|
| 1293 |
|
|
2007-09-22 Paul Thomas
|
| 1294 |
|
|
|
| 1295 |
|
|
PR fortran/33337
|
| 1296 |
|
|
PR fortran/33376
|
| 1297 |
|
|
* trans-decl.c (gfc_create_module_variable): Output
|
| 1298 |
|
|
derived type parameters.
|
| 1299 |
|
|
* arith.c (gfc_parentheses): Return the argument if
|
| 1300 |
|
|
it is a constant expression.
|
| 1301 |
|
|
* primary.c (gfc_match_rvalue): Remove the clearing of
|
| 1302 |
|
|
the module name and the use_assoc attribute for derived
|
| 1303 |
|
|
type parameter expressions.
|
| 1304 |
|
|
|
| 1305 |
|
|
2007-09-22 Francois-Xavier Coudert
|
| 1306 |
|
|
|
| 1307 |
|
|
PR fortran/33502
|
| 1308 |
|
|
* scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
|
| 1309 |
|
|
and debug_hooks->end_source_file when entering and exiting
|
| 1310 |
|
|
included files.
|
| 1311 |
|
|
(gfc_define_undef_line): New function.
|
| 1312 |
|
|
(load_file): Ignore #define and #undef preprocessor lines
|
| 1313 |
|
|
while reading source files.
|
| 1314 |
|
|
* parse.c (next_statement): Handle #define and #undef
|
| 1315 |
|
|
preprocessor lines.
|
| 1316 |
|
|
(gfc_parse_file): Call debug_hooks->start_source_file and
|
| 1317 |
|
|
debug_hooks->end_source_file for the main source file if
|
| 1318 |
|
|
requested by the debug format.
|
| 1319 |
|
|
* gfortran.h (gfc_define_undef_line): Add prototype.
|
| 1320 |
|
|
|
| 1321 |
|
|
2007-09-22 Tobias Burnus
|
| 1322 |
|
|
|
| 1323 |
|
|
PR fortran/33445
|
| 1324 |
|
|
* scanner.c (skip_free_comments): Warn if !$OMP& is used
|
| 1325 |
|
|
if no OpenMP directive is to be continued.
|
| 1326 |
|
|
|
| 1327 |
|
|
2007-09-21 Paul Thomas
|
| 1328 |
|
|
|
| 1329 |
|
|
*trans-expr.c (gfc_trans_pointer_assignment): Convert array
|
| 1330 |
|
|
descriptor for subref pointer assignements, rather than using
|
| 1331 |
|
|
the loop info version.
|
| 1332 |
|
|
|
| 1333 |
|
|
2007-09-21 Tobias Burnus
|
| 1334 |
|
|
|
| 1335 |
|
|
PR fortran/33037
|
| 1336 |
|
|
* simplify.c (gfc_simplify_transfer): Warn if source size
|
| 1337 |
|
|
is smaller than result size.
|
| 1338 |
|
|
|
| 1339 |
|
|
2007-09-20 Asher Langton
|
| 1340 |
|
|
|
| 1341 |
|
|
PR fortran/20441
|
| 1342 |
|
|
* gfortran.h : Add init_local_* enums and init_flag_* flags to
|
| 1343 |
|
|
gfc_option_t.
|
| 1344 |
|
|
* lang.opt: Add -finit-local-zero, -finit-real, -finit-integer,
|
| 1345 |
|
|
-finit-character, and -finit-logical flags.
|
| 1346 |
|
|
* invoke.texi: Document new options.
|
| 1347 |
|
|
* resolve.c (build_init_assign): New function.
|
| 1348 |
|
|
(apply_init_assign): Move part of function into build_init_assign.
|
| 1349 |
|
|
(build_default_init_expr): Build local initializer (-finit-*).
|
| 1350 |
|
|
(apply_default_init_local): Apply local initializer (-finit-*).
|
| 1351 |
|
|
(resolve_fl_variable): Try to add local initializer (-finit-*).
|
| 1352 |
|
|
* options.c (gfc_init_options, gfc_handle_option,
|
| 1353 |
|
|
gfc_post_options): Handle -finit-local-zero, -finit-real,
|
| 1354 |
|
|
-finit-integer, -finit-character, and -finit-logical flags.
|
| 1355 |
|
|
|
| 1356 |
|
|
2007-09-20 Francois-Xavier Coudert
|
| 1357 |
|
|
|
| 1358 |
|
|
PR fortran/33221
|
| 1359 |
|
|
* gfortran.h (symbol_attribute): Add zero_comp field.
|
| 1360 |
|
|
* symbol.c (gfc_use_derived): Handle case of emtpy derived types.
|
| 1361 |
|
|
* decl.c (gfc_match_data_decl): Likewise.
|
| 1362 |
|
|
(gfc_match_derived_decl): Likewise.
|
| 1363 |
|
|
* module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
|
| 1364 |
|
|
(mio_symbol_attribute): Write and read AB_ZERO_COMP.
|
| 1365 |
|
|
* resolve.c (resolve_symbol): Handle case of emtpy derived types.
|
| 1366 |
|
|
* parse.c (parse_derived): Likewise.
|
| 1367 |
|
|
|
| 1368 |
|
|
2007-09-20 Francois-Xavier Coudert
|
| 1369 |
|
|
|
| 1370 |
|
|
PR fortran/33288
|
| 1371 |
|
|
* arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
|
| 1372 |
|
|
reduce_binary_aa): Call ourselves recursively if an element of
|
| 1373 |
|
|
the constructor is itself a constant array.
|
| 1374 |
|
|
|
| 1375 |
|
|
2007-09-20 Tobias Schlüter
|
| 1376 |
|
|
|
| 1377 |
|
|
* io.c (resolve_tag_format): New function using code split out
|
| 1378 |
|
|
and simplified from ...
|
| 1379 |
|
|
(resolve_tag): ... this function. Simplify logic. Unify
|
| 1380 |
|
|
IOSTAT, IOLENGTH and SIZE handling.
|
| 1381 |
|
|
|
| 1382 |
|
|
2007-09-20 Christopher D. Rickett
|
| 1383 |
|
|
|
| 1384 |
|
|
PR fortran/33497
|
| 1385 |
|
|
* resolve.c (gfc_iso_c_func_interface): Use information from
|
| 1386 |
|
|
subcomponent if applicable.
|
| 1387 |
|
|
|
| 1388 |
|
|
2007-09-20 Tobias Burnus
|
| 1389 |
|
|
|
| 1390 |
|
|
PR fortran/33325
|
| 1391 |
|
|
* intrinsic.text: Add documentation of the intrinsic modules.
|
| 1392 |
|
|
* gfortran.texi: Link to intrinsic-modules section and to
|
| 1393 |
|
|
the GOMP manual.
|
| 1394 |
|
|
|
| 1395 |
|
|
2007-09-18 Francois-Xavier Coudert
|
| 1396 |
|
|
|
| 1397 |
|
|
PR fortran/31119
|
| 1398 |
|
|
* trans-array.c (gfc_conv_ss_startstride): Only perform bounds
|
| 1399 |
|
|
checking for optional args when they are present.
|
| 1400 |
|
|
|
| 1401 |
|
|
2007-09-18 Tobias Burnus
|
| 1402 |
|
|
|
| 1403 |
|
|
PR fortran/33231
|
| 1404 |
|
|
* resolve.c (resolve_elemental_actual): Check for conformance
|
| 1405 |
|
|
of intent out/inout dummies.
|
| 1406 |
|
|
|
| 1407 |
|
|
2007-09-17 Tobias Burnus
|
| 1408 |
|
|
|
| 1409 |
|
|
PR fortran/33106
|
| 1410 |
|
|
* resolve.c (resolve_symbol): Reject public variable of
|
| 1411 |
|
|
private derived-types for Fortran 95.
|
| 1412 |
|
|
|
| 1413 |
|
|
2007-09-17 Tobias Burnus
|
| 1414 |
|
|
|
| 1415 |
|
|
* resolve.c (resolve_fl_procedure): Allow private dummies
|
| 1416 |
|
|
for Fortran 2003.
|
| 1417 |
|
|
|
| 1418 |
|
|
2007-09-17 Francois-Xavier Coudert
|
| 1419 |
|
|
|
| 1420 |
|
|
* trans-types.c (gfc_get_desc_dim_type): Do not to try
|
| 1421 |
|
|
emit debug info.
|
| 1422 |
|
|
(gfc_get_array_descriptor_base): Likewise.
|
| 1423 |
|
|
(gfc_get_mixed_entry_union): Likewise
|
| 1424 |
|
|
(gfc_get_derived_type): Set decl location for fields and
|
| 1425 |
|
|
derived type itself.
|
| 1426 |
|
|
|
| 1427 |
|
|
2007-09-16 Paul Thomas
|
| 1428 |
|
|
|
| 1429 |
|
|
PR fortran/29396
|
| 1430 |
|
|
PR fortran/29606
|
| 1431 |
|
|
PR fortran/30625
|
| 1432 |
|
|
PR fortran/30871
|
| 1433 |
|
|
* trans.h : Add extra argument to gfc_build_array_ref. Rename
|
| 1434 |
|
|
gfc_conv_aliased_arg to gfc_conv_subref_array_arg. Move
|
| 1435 |
|
|
prototype of is_aliased_array to gfortran.h and rename it
|
| 1436 |
|
|
gfc_is_subref_array. Add field span to lang_decl, add a new
|
| 1437 |
|
|
decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
|
| 1438 |
|
|
and a new type flag GFC_DECL_SUBREF_ARRAY_P.
|
| 1439 |
|
|
* trans.c (gfc_build_array_ref): Add the new argument, decl.
|
| 1440 |
|
|
If this is a subreference array pointer, use the lang_decl
|
| 1441 |
|
|
field 'span' to calculate the offset in bytes and use pointer
|
| 1442 |
|
|
arithmetic to address the element.
|
| 1443 |
|
|
* trans-array.c (gfc_conv_scalarized_array_ref,
|
| 1444 |
|
|
gfc_conv_array_ref): Add the backend declaration as the third
|
| 1445 |
|
|
field, if it is likely to be a subreference array pointer.
|
| 1446 |
|
|
(gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
|
| 1447 |
|
|
gfc_trans_array_constructor_element, structure_alloc_comps,
|
| 1448 |
|
|
gfc_conv_array_index_offset): For all other references to
|
| 1449 |
|
|
gfc_build_array_ref, set the third argument to NULL.
|
| 1450 |
|
|
(gfc_get_dataptr_offset): New function.
|
| 1451 |
|
|
(gfc_conv_expr_descriptor): If the rhs of a pointer assignment
|
| 1452 |
|
|
is a subreference array, then calculate the offset to the
|
| 1453 |
|
|
subreference of the first element and set the descriptor data
|
| 1454 |
|
|
pointer to this, using gfc_get_dataptr_offset.
|
| 1455 |
|
|
trans-expr.c (gfc_get_expr_charlen): Use the expression for the
|
| 1456 |
|
|
character length for a character subreference.
|
| 1457 |
|
|
(gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
|
| 1458 |
|
|
third argument in call to gfc_build_array_ref.
|
| 1459 |
|
|
(gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
|
| 1460 |
|
|
(is_aliased_array): Remove.
|
| 1461 |
|
|
(gfc_conv_function_call): Change reference to is_aliased_array
|
| 1462 |
|
|
to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
|
| 1463 |
|
|
gfc_conv_subref_array_arg.
|
| 1464 |
|
|
(gfc_trans_pointer_assignment): Add the array element length to
|
| 1465 |
|
|
the lang_decl 'span' field.
|
| 1466 |
|
|
* gfortran.h : Add subref_array_pointer to symbol_attribute and
|
| 1467 |
|
|
add the prototype for gfc_is_subref_array.
|
| 1468 |
|
|
* trans-stmt.c : Add NULL for third argument in all references
|
| 1469 |
|
|
to gfc_build_array_ref.
|
| 1470 |
|
|
* expr.c (gfc_is_subref_array): Renamed is_aliased_array.
|
| 1471 |
|
|
If this is a subreference array pointer, return true.
|
| 1472 |
|
|
(gfc_check_pointer_assign): If the rhs is a subreference array,
|
| 1473 |
|
|
set the lhs subreference_array_pointer attribute.
|
| 1474 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
|
| 1475 |
|
|
field if the symbol is a subreference array pointer and set an
|
| 1476 |
|
|
initial value of zero for the 'span' field.
|
| 1477 |
|
|
* trans-io.c (set_internal_unit): Refer to is_subref_array and
|
| 1478 |
|
|
gfc_conv_subref_array_arg.
|
| 1479 |
|
|
(nml_get_addr_expr): Add NULL third argument to
|
| 1480 |
|
|
gfc_build_array_ref.
|
| 1481 |
|
|
(gfc_trans_transfer): Use the scalarizer for a subreference
|
| 1482 |
|
|
array.
|
| 1483 |
|
|
|
| 1484 |
|
|
2007-09-13 Thomas Koenig
|
| 1485 |
|
|
|
| 1486 |
|
|
* iresolve.c (resolve_mask_arg): If a mask is an array
|
| 1487 |
|
|
expression, convert it to kind=1.
|
| 1488 |
|
|
|
| 1489 |
|
|
2007-09-13 Tobias Burnus
|
| 1490 |
|
|
|
| 1491 |
|
|
PR fortran/33343
|
| 1492 |
|
|
* expr.c (gfc_check_conformance): Print ranks in the error message.
|
| 1493 |
|
|
* resolve.c (resolve_elemental_actual): Check also conformance of
|
| 1494 |
|
|
the actual arguments for elemental functions.
|
| 1495 |
|
|
|
| 1496 |
|
|
2007-09-13 Tobias Burnus
|
| 1497 |
|
|
|
| 1498 |
|
|
* symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
|
| 1499 |
|
|
Allow prefixes only to be specified once.
|
| 1500 |
|
|
|
| 1501 |
|
|
2007-09-13 Tobias Burnus
|
| 1502 |
|
|
|
| 1503 |
|
|
PR fortran/33412
|
| 1504 |
|
|
* symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
|
| 1505 |
|
|
|
| 1506 |
|
|
2007-09-12 Tobias Burnus
|
| 1507 |
|
|
|
| 1508 |
|
|
PR fortran/33297
|
| 1509 |
|
|
* check.c (scalar_check): Move up in the file.
|
| 1510 |
|
|
(kind_check): Call scalar_check.
|
| 1511 |
|
|
(dim_check): If optional, do not call nonoptional_check; use
|
| 1512 |
|
|
bool for optional.
|
| 1513 |
|
|
(gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
|
| 1514 |
|
|
gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
|
| 1515 |
|
|
gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
|
| 1516 |
|
|
for dim_check; honor changed meaning of optional.
|
| 1517 |
|
|
(gfc_check_int): Replace checks by kind_check.
|
| 1518 |
|
|
(gfc_check_size): Replace checks by dim_check.
|
| 1519 |
|
|
|
| 1520 |
|
|
2007-09-12 Tobias Burnus
|
| 1521 |
|
|
|
| 1522 |
|
|
PR fortran/33284
|
| 1523 |
|
|
PR fortran/33310
|
| 1524 |
|
|
* symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
|
| 1525 |
|
|
and between BIND(C) and PARAMETER.
|
| 1526 |
|
|
|
| 1527 |
|
|
2007-09-12 Tobias Burnus
|
| 1528 |
|
|
|
| 1529 |
|
|
* trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
|
| 1530 |
|
|
|
| 1531 |
|
|
2007-09-12 Jan Hubicka
|
| 1532 |
|
|
|
| 1533 |
|
|
* f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
|
| 1534 |
|
|
|
| 1535 |
|
|
2007-09-12 Christopher D. Rickett
|
| 1536 |
|
|
|
| 1537 |
|
|
PR fortran/33395
|
| 1538 |
|
|
* trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
|
| 1539 |
|
|
intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
|
| 1540 |
|
|
and C_NULL_FUNPTR expressions.
|
| 1541 |
|
|
|
| 1542 |
|
|
2007-09-11 Christopher D. Rickett
|
| 1543 |
|
|
|
| 1544 |
|
|
PR fortran/33040
|
| 1545 |
|
|
* trans-expr.c (gfc_trans_structure_assign): Convert component
|
| 1546 |
|
|
C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
|
| 1547 |
|
|
* trans-types.c (gfc_get_derived_type): Create a backend_decl for
|
| 1548 |
|
|
the c_address field of C_PTR and C_FUNPTR and ensure initializer
|
| 1549 |
|
|
is of proper type/kind for (void *).
|
| 1550 |
|
|
|
| 1551 |
|
|
2007-09-11 Jan Hubicka
|
| 1552 |
|
|
|
| 1553 |
|
|
* f95-lang.c (gfc_expand_function): Kill.
|
| 1554 |
|
|
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
|
| 1555 |
|
|
|
| 1556 |
|
|
2007-09-08 Tobias Burnus
|
| 1557 |
|
|
|
| 1558 |
|
|
PR fortran/31547
|
| 1559 |
|
|
* gfortran.texi: Document when CPP is called.
|
| 1560 |
|
|
|
| 1561 |
|
|
* intrinsic.texi (IOR): Fix typos.
|
| 1562 |
|
|
|
| 1563 |
|
|
2007-09-10 Paul Thomas
|
| 1564 |
|
|
|
| 1565 |
|
|
PR fortran/33370
|
| 1566 |
|
|
* trans-expr.c (copyable_array_p): Add tests that expression
|
| 1567 |
|
|
is a variable, that it has no subreferences and that it is a
|
| 1568 |
|
|
full array.
|
| 1569 |
|
|
(gfc_trans_assignment): Change conditions to suit modifications
|
| 1570 |
|
|
to copyable_array_p.
|
| 1571 |
|
|
|
| 1572 |
|
|
2007-09-06 Tom Tromey
|
| 1573 |
|
|
|
| 1574 |
|
|
* scanner.c (get_file): Update.
|
| 1575 |
|
|
(load_file): Update.
|
| 1576 |
|
|
(gfc_next_char_literal): Use gfc_linebuf_linenum.
|
| 1577 |
|
|
* f95-lang.c (gfc_init): Update.
|
| 1578 |
|
|
* gfortran.h (gfc_linebuf_linenum): New macro.
|
| 1579 |
|
|
|
| 1580 |
|
|
2007-09-05 Sandra Loosemore
|
| 1581 |
|
|
|
| 1582 |
|
|
* trans-decl.c (build_entry_thunks): Use set_cfun.
|
| 1583 |
|
|
(gfc_generate_function_code): Likewise.
|
| 1584 |
|
|
|
| 1585 |
|
|
2007-09-05 Paul Thomas
|
| 1586 |
|
|
|
| 1587 |
|
|
PR fortran/31564
|
| 1588 |
|
|
* primary.c (gfc_match_rvalue): Make expressions that refer
|
| 1589 |
|
|
to derived type parameters that have array references into
|
| 1590 |
|
|
variable expressions. Remove references to use association
|
| 1591 |
|
|
from the symbol.
|
| 1592 |
|
|
|
| 1593 |
|
|
PR fortran/33241
|
| 1594 |
|
|
* decl.c (add_init_expr_to_sym): Provide assumed character
|
| 1595 |
|
|
length parameters with the length of the initialization
|
| 1596 |
|
|
expression, if a constant, or that of the first element of
|
| 1597 |
|
|
an array.
|
| 1598 |
|
|
|
| 1599 |
|
|
2007-09-04 Janus Weil
|
| 1600 |
|
|
Paul Thomas
|
| 1601 |
|
|
|
| 1602 |
|
|
* decl.c (match_procedure_decl,match_procedure_in_interface,
|
| 1603 |
|
|
gfc_match_procedure): Handle PROCEDURE statements.
|
| 1604 |
|
|
* gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
|
| 1605 |
|
|
(enum gfc_statement): New element "ST_PROCEDURE".
|
| 1606 |
|
|
(strcut symbol_attribute): New member "unsigned procedure".
|
| 1607 |
|
|
* interface.c (check_interface0): Extended error checking.
|
| 1608 |
|
|
* match.h: Add gfc_match_procedure prototype.
|
| 1609 |
|
|
* parse.c (decode_statement,next_statement,gfc_ascii_statement,
|
| 1610 |
|
|
parse_derived,parse_interface): Implement PROCEDURE statements.
|
| 1611 |
|
|
* resolve.c (resolve_symbol): Ditto.
|
| 1612 |
|
|
* symbol.c (check_conflict): Ditto.
|
| 1613 |
|
|
(gfc_add_proc): New function for setting the procedure attribute.
|
| 1614 |
|
|
(copy_formal_args): New function for copying formal argument lists.
|
| 1615 |
|
|
|
| 1616 |
|
|
2007-09-03 Daniel Jacobowitz
|
| 1617 |
|
|
|
| 1618 |
|
|
* Make-lang.in (gfortranspec.o): Remove SHLIB_MULTILIB.
|
| 1619 |
|
|
|
| 1620 |
|
|
2007-09-03 Kaveh R. Ghazi
|
| 1621 |
|
|
|
| 1622 |
|
|
* gfortranspec.c (lang_specific_driver): Use CONST_CAST2.
|
| 1623 |
|
|
* options.c (gfc_post_options): Supply a TYPE for CONST_CAST.
|
| 1624 |
|
|
* parse.c (parse_omp_structured_block): Likewise,
|
| 1625 |
|
|
* st.c (gfc_free_statement): Likewise,
|
| 1626 |
|
|
|
| 1627 |
|
|
2007-09-03 Francois-Xavier Coudert
|
| 1628 |
|
|
|
| 1629 |
|
|
PR fortran/31675
|
| 1630 |
|
|
* libgfortran.h: New file.
|
| 1631 |
|
|
* iso-fortran-env.def: Use macros in the new header instead of
|
| 1632 |
|
|
hardcoded integer constants.
|
| 1633 |
|
|
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
|
| 1634 |
|
|
fortran/libgfortran.h.
|
| 1635 |
|
|
* gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
|
| 1636 |
|
|
ioerror_codes): Remove.
|
| 1637 |
|
|
* trans.c (ERROR_ALLOCATION): Remove.
|
| 1638 |
|
|
(gfc_call_malloc, gfc_allocate_with_status,
|
| 1639 |
|
|
gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
|
| 1640 |
|
|
* trans-types.h (GFC_DTYPE_*): Remove.
|
| 1641 |
|
|
* trans-decl.c (gfc_generate_function_code): Use
|
| 1642 |
|
|
GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
|
| 1643 |
|
|
* trans-io.c (set_parameter_value, set_parameter_ref): Use
|
| 1644 |
|
|
LIBERROR_* macros instead of IOERROR_ macros.
|
| 1645 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use
|
| 1646 |
|
|
LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
|
| 1647 |
|
|
* options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
|
| 1648 |
|
|
CONVERT_NATIVE.
|
| 1649 |
|
|
(gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
|
| 1650 |
|
|
|
| 1651 |
|
|
2007-09-02 Steven G. Kargl
|
| 1652 |
|
|
|
| 1653 |
|
|
* invoke.texi: Fix the -frange-checking option entry.
|
| 1654 |
|
|
|
| 1655 |
|
|
2007-09-02 Roger Sayle
|
| 1656 |
|
|
|
| 1657 |
|
|
* decl.c (match_string_p): New helper function to explicitly match
|
| 1658 |
|
|
a string of characters.
|
| 1659 |
|
|
(match_attr_spec): Remove no longer needed DECL_COLON from decl_types.
|
| 1660 |
|
|
Delete decls array and peek_char. Rewrite decl attribute parser to
|
| 1661 |
|
|
avoid calling gfc_match_strings.
|
| 1662 |
|
|
* match.c (gfc_match_strings): Delete unused function.
|
| 1663 |
|
|
* match.h (gfc_match_strings): Delete prototype.
|
| 1664 |
|
|
|
| 1665 |
|
|
2007-09-02 Tobias Schlüter
|
| 1666 |
|
|
|
| 1667 |
|
|
* dump-parse-tree.c (show_char_const): New function.
|
| 1668 |
|
|
(gfc_show_expr): Use it.
|
| 1669 |
|
|
* expr.c (find_substring_ref): Rework to not keep characters
|
| 1670 |
|
|
dangling beyond end of string.
|
| 1671 |
|
|
|
| 1672 |
|
|
2007-09-02 H.J. Lu
|
| 1673 |
|
|
|
| 1674 |
|
|
PR fortran/33276
|
| 1675 |
|
|
* array.c (expand_iterator): Initialize frame.prev.
|
| 1676 |
|
|
|
| 1677 |
|
|
2007-08-31 Tobias Burnus
|
| 1678 |
|
|
|
| 1679 |
|
|
PR fortran/33232
|
| 1680 |
|
|
* io.c (match_io): Also diagnose extra comma for READ.
|
| 1681 |
|
|
|
| 1682 |
|
|
2007-08-31 Joseph Myers
|
| 1683 |
|
|
|
| 1684 |
|
|
* intrinsic.texi (LGAMMA): Remove empty @cindex line.
|
| 1685 |
|
|
|
| 1686 |
|
|
2007-08-31 Paul Thomas
|
| 1687 |
|
|
|
| 1688 |
|
|
PR fortran/31879
|
| 1689 |
|
|
PR fortran/31197
|
| 1690 |
|
|
PR fortran/31258
|
| 1691 |
|
|
PR fortran/32703
|
| 1692 |
|
|
* gfortran.h : Add prototype for gfc_resolve_substring_charlen.
|
| 1693 |
|
|
* resolve.c (gfc_resolve_substring_charlen): New function.
|
| 1694 |
|
|
(resolve_ref): Call gfc_resolve_substring_charlen.
|
| 1695 |
|
|
(gfc_resolve_character_operator): New function.
|
| 1696 |
|
|
(gfc_resolve_expr): Call the new functions in cases where the
|
| 1697 |
|
|
character length is missing.
|
| 1698 |
|
|
* iresolve.c (cshift, eoshift, merge, pack, reshape, spread,
|
| 1699 |
|
|
transpose, unpack): Call gfc_resolve_substring_charlen for
|
| 1700 |
|
|
source expressions that are character and have a reference.
|
| 1701 |
|
|
* trans.h (gfc_trans_init_string_length) Change name to
|
| 1702 |
|
|
gfc_conv_string_length; modify references in trans-expr.c,
|
| 1703 |
|
|
trans-array.c and trans-decl.c.
|
| 1704 |
|
|
* trans-expr.c (gfc_trans_string_length): Handle case of no
|
| 1705 |
|
|
backend_decl.
|
| 1706 |
|
|
(gfc_conv_aliased_arg): Remove code for treating substrings
|
| 1707 |
|
|
and replace with call to gfc_trans_string_length.
|
| 1708 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Remove code for
|
| 1709 |
|
|
treating strings and call gfc_trans_string_length instead.
|
| 1710 |
|
|
|
| 1711 |
|
|
2007-08-30 Tobias Burnus
|
| 1712 |
|
|
|
| 1713 |
|
|
PR fortran/33228
|
| 1714 |
|
|
* interface.c (check_interface0): Improve error for external procs.
|
| 1715 |
|
|
(check_sym_interfaces): Fix checking of module procedures.
|
| 1716 |
|
|
|
| 1717 |
|
|
2007-08-29 Francois-Xavier Coudert
|
| 1718 |
|
|
|
| 1719 |
|
|
PR fortran/32989
|
| 1720 |
|
|
* iresolve.c (gfc_resolve_getarg): Handle non-default integer
|
| 1721 |
|
|
kinds.
|
| 1722 |
|
|
* check.c (gfc_check_getarg): New function
|
| 1723 |
|
|
* intrinsic.h: Add prototype for gfc_check_getarg.
|
| 1724 |
|
|
* intrinsic.c (add_subroutines): Add reference to gfc_check_getarg.
|
| 1725 |
|
|
* intrinsic.texi (GETARG): Adjust documentation.
|
| 1726 |
|
|
|
| 1727 |
|
|
2007-08-29 Francois-Xavier Coudert
|
| 1728 |
|
|
Tobias Burnus
|
| 1729 |
|
|
|
| 1730 |
|
|
PR fortran/33105
|
| 1731 |
|
|
* intrinsic.c (add_functions): Add IS_IOSTAT_END and
|
| 1732 |
|
|
IS_IOSTAT_EOR intrinsics.
|
| 1733 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and
|
| 1734 |
|
|
GFC_ISYM_IS_IOSTAT_EOR.
|
| 1735 |
|
|
* trans-intrinsic.c (gfc_conv_has_intvalue): New function.
|
| 1736 |
|
|
(gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for
|
| 1737 |
|
|
GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR.
|
| 1738 |
|
|
* intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR.
|
| 1739 |
|
|
|
| 1740 |
|
|
2007-08-28 Christopher D. Rickett
|
| 1741 |
|
|
|
| 1742 |
|
|
PR fortran/33215
|
| 1743 |
|
|
* decl.c (build_sym): Pass number of identifiers on line to
|
| 1744 |
|
|
set_binding_label.
|
| 1745 |
|
|
(set_binding_label): Verify that only one identifier given if
|
| 1746 |
|
|
NAME= specified, even if the given binding label has zero length.
|
| 1747 |
|
|
(gfc_match_bind_c): Remove declaration for has_name_equals because
|
| 1748 |
|
|
it hides the static global one that is needed.
|
| 1749 |
|
|
|
| 1750 |
|
|
2007-08-29 Francois-Xavier Coudert
|
| 1751 |
|
|
|
| 1752 |
|
|
* trans-array.c (gfc_grow_array): Use gfc_call_realloc.
|
| 1753 |
|
|
(gfc_array_allocate): Use gfc_allocate_with_status and
|
| 1754 |
|
|
gfc_allocate_array_with_status.
|
| 1755 |
|
|
(gfc_array_deallocate): Use gfc_deallocate_with_status.
|
| 1756 |
|
|
(gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
|
| 1757 |
|
|
* trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
|
| 1758 |
|
|
(gfc_trans_deallocate): Use gfc_deallocate_with_status.
|
| 1759 |
|
|
* trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
|
| 1760 |
|
|
gfc_deallocate_with_status, gfc_call_realloc): New functions.
|
| 1761 |
|
|
* trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
|
| 1762 |
|
|
gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
|
| 1763 |
|
|
(gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
|
| 1764 |
|
|
gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
|
| 1765 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Create decl for
|
| 1766 |
|
|
BUILT_IN_REALLOC.
|
| 1767 |
|
|
* trans-decl.c (gfor_fndecl_internal_realloc,
|
| 1768 |
|
|
gfor_fndecl_allocate, gfor_fndecl_allocate_array,
|
| 1769 |
|
|
gfor_fndecl_deallocate): Remove function decls.
|
| 1770 |
|
|
(gfc_build_builtin_function_decls): Likewise.
|
| 1771 |
|
|
|
| 1772 |
|
|
2007-08-28 Jerry DeLisle
|
| 1773 |
|
|
|
| 1774 |
|
|
PR fortran/33055
|
| 1775 |
|
|
Revert previous patch.
|
| 1776 |
|
|
|
| 1777 |
|
|
2007-08-28 Jakub Jelinek
|
| 1778 |
|
|
|
| 1779 |
|
|
PR fortran/22244
|
| 1780 |
|
|
* Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
|
| 1781 |
|
|
* trans-types.c: Include flags.h.
|
| 1782 |
|
|
(gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
|
| 1783 |
|
|
correct bounds and dimensions for packed arrays.
|
| 1784 |
|
|
|
| 1785 |
|
|
2007-08-27 Tobias Burnus
|
| 1786 |
|
|
|
| 1787 |
|
|
* simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
|
| 1788 |
|
|
|
| 1789 |
|
|
2007-08-26 Jerry DeLisle
|
| 1790 |
|
|
|
| 1791 |
|
|
PR fortran/33055
|
| 1792 |
|
|
* trans-io.c (create_dummy_iostat): New function to create a unique
|
| 1793 |
|
|
dummy variable expression to use with IOSTAT.
|
| 1794 |
|
|
(gfc_trans_inquire): Use the new function to pass unit number error info
|
| 1795 |
|
|
to run-time library if a regular IOSTAT variable was not given.
|
| 1796 |
|
|
|
| 1797 |
|
|
2007-08-26 H.J. Lu
|
| 1798 |
|
|
|
| 1799 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and
|
| 1800 |
|
|
GFC_ISYM_LGAMMA.
|
| 1801 |
|
|
|
| 1802 |
|
|
2007-08-26 Asher Langton
|
| 1803 |
|
|
Tobias Burnus
|
| 1804 |
|
|
|
| 1805 |
|
|
* gfortran.h (gfc_option_t): Add flag_recursive.
|
| 1806 |
|
|
* lang.opt: Add -frecursive option and update -fopenmp.
|
| 1807 |
|
|
* invoke.texi (-frecursive): Document new option.
|
| 1808 |
|
|
(-fopenmp,-fno-automatic,-fmax-stack-var-size): Update.
|
| 1809 |
|
|
* options.c (gfc_init_options, gfc_post_options,
|
| 1810 |
|
|
gfc_handle_option): Add -frecursive and modify -fopenmp.
|
| 1811 |
|
|
(gfc_post_options): Add warning for conflicting flags.
|
| 1812 |
|
|
|
| 1813 |
|
|
2007-08-26 Tobias Burnus
|
| 1814 |
|
|
|
| 1815 |
|
|
PR fortran/31298
|
| 1816 |
|
|
* module.c (mio_symbol_ref,mio_interface_rest): Return pointer_info.
|
| 1817 |
|
|
(load_operator_interfaces): Support multible loading of an operator.
|
| 1818 |
|
|
|
| 1819 |
|
|
2007-08-26 Tobias Burnus
|
| 1820 |
|
|
|
| 1821 |
|
|
PR fortran/32985
|
| 1822 |
|
|
* match.c (gfc_match_common): Remove SEQUENCE diagnostics.
|
| 1823 |
|
|
* resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
|
| 1824 |
|
|
fix walking through the tree.
|
| 1825 |
|
|
|
| 1826 |
|
|
2007-08-26 Tobias Burnus
|
| 1827 |
|
|
|
| 1828 |
|
|
PR fortran/32980
|
| 1829 |
|
|
* intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
|
| 1830 |
|
|
gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
|
| 1831 |
|
|
* mathbuiltins.def: Define GAMMA and LGAMMA.
|
| 1832 |
|
|
* intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
|
| 1833 |
|
|
and DLGAMA.
|
| 1834 |
|
|
* simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
|
| 1835 |
|
|
* iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
|
| 1836 |
|
|
* intrinsic.texi: Add documentation for GAMMA and LGAMMA.
|
| 1837 |
|
|
|
| 1838 |
|
|
2007-08-26 Tobias Burnus
|
| 1839 |
|
|
|
| 1840 |
|
|
PR fortran/33188
|
| 1841 |
|
|
* parse.c (parse_derived): Support empty derived type
|
| 1842 |
|
|
definitions for Fortran 2003.
|
| 1843 |
|
|
|
| 1844 |
|
|
2007-08-25 Kaveh R. Ghazi
|
| 1845 |
|
|
|
| 1846 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
|
| 1847 |
|
|
* trans.h (gfc_omp_privatize_by_reference): Likewise.
|
| 1848 |
|
|
|
| 1849 |
|
|
2007-08-24 Tobias Burnus
|
| 1850 |
|
|
|
| 1851 |
|
|
PR fortran/33178
|
| 1852 |
|
|
* intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
|
| 1853 |
|
|
expression check.
|
| 1854 |
|
|
|
| 1855 |
|
|
2007-08-24 Thomas Koenig
|
| 1856 |
|
|
|
| 1857 |
|
|
PR fortran/32972
|
| 1858 |
|
|
* iresolve.c: Don't convert array masks.
|
| 1859 |
|
|
|
| 1860 |
|
|
2007-08-24 Tobias Burnus
|
| 1861 |
|
|
|
| 1862 |
|
|
PR fortran/33139
|
| 1863 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
|
| 1864 |
|
|
whole-array pointer assignments.
|
| 1865 |
|
|
|
| 1866 |
|
|
2007-08-23 Jakub Jelinek
|
| 1867 |
|
|
|
| 1868 |
|
|
* decl.c (variable_decl): Don't share charlen structs if
|
| 1869 |
|
|
length == NULL.
|
| 1870 |
|
|
* trans-decl.c (create_function_arglist): Assert
|
| 1871 |
|
|
f->sym->ts.cl->backend_decl is NULL instead of unsharing
|
| 1872 |
|
|
charlen struct here.
|
| 1873 |
|
|
|
| 1874 |
|
|
2007-08-23 Francois-Xavier Coudert
|
| 1875 |
|
|
|
| 1876 |
|
|
PR fortran/33095
|
| 1877 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
|
| 1878 |
|
|
runtime error checking.
|
| 1879 |
|
|
|
| 1880 |
|
|
2007-08-22 Roger Sayle
|
| 1881 |
|
|
Tobias Schlüter
|
| 1882 |
|
|
|
| 1883 |
|
|
* match.c (intrinsic_operators): Delete.
|
| 1884 |
|
|
(gfc_match_intrinsic_op): Rewrite matcher to avoid calling
|
| 1885 |
|
|
gfc_match_strings.
|
| 1886 |
|
|
|
| 1887 |
|
|
2007-08-22 Christopher D. Rickett
|
| 1888 |
|
|
|
| 1889 |
|
|
PR fortran/33020
|
| 1890 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
|
| 1891 |
|
|
kind for optional SHAPE parameter of C_F_POINTER.
|
| 1892 |
|
|
|
| 1893 |
|
|
2007-08-22 Janus Weil
|
| 1894 |
|
|
|
| 1895 |
|
|
* decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
|
| 1896 |
|
|
(gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
|
| 1897 |
|
|
(gfc_match_mopdproc): Bugfix to reject module procedures in
|
| 1898 |
|
|
abstract interfaces.
|
| 1899 |
|
|
|
| 1900 |
|
|
2007-08-22 Kai Tietz
|
| 1901 |
|
|
|
| 1902 |
|
|
* f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using
|
| 1903 |
|
|
Pmode.
|
| 1904 |
|
|
|
| 1905 |
|
|
2007-08-21 Paul Brook
|
| 1906 |
|
|
Nathan Sidwell
|
| 1907 |
|
|
Mark Mitchell
|
| 1908 |
|
|
Joseph Myers
|
| 1909 |
|
|
|
| 1910 |
|
|
* gfortranspec.c (lang_specific_driver): Use pkgversion_string.
|
| 1911 |
|
|
* Make-lang.in (gfortran.pod): Define BUGURL.
|
| 1912 |
|
|
* invoke.texi: Use BUGURL for bug-reporting instructions.
|
| 1913 |
|
|
|
| 1914 |
|
|
2007-08-19 Roger Sayle
|
| 1915 |
|
|
|
| 1916 |
|
|
* match.c (intrinsic_operators): Make static.
|
| 1917 |
|
|
(gfc_op2string): New function for converting a gfc_intrinsic_op to
|
| 1918 |
|
|
to a "const char*", replacing the macro of the same name.
|
| 1919 |
|
|
* gfortran.h (intrinsic_operators): Delete prototype.
|
| 1920 |
|
|
(gfc_op2string): Replace macro with function prototype.
|
| 1921 |
|
|
|
| 1922 |
|
|
2007-08-18 Tobias Burnus
|
| 1923 |
|
|
|
| 1924 |
|
|
* gfortran.h (gfc_is_intrinsic_typename): Add declaration.
|
| 1925 |
|
|
* symbol.c (gfc_is_intrinsic_typename): New function.
|
| 1926 |
|
|
* parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
|
| 1927 |
|
|
(parse_interface): Use gfc_is_intrinsic_typename.
|
| 1928 |
|
|
* decl.c (gfc_match_derived_decl): Ditto.
|
| 1929 |
|
|
* module.c (gfc_match_use): Use gcc_unreachable() for
|
| 1930 |
|
|
INTERFACE_ABSTRACT in switch().
|
| 1931 |
|
|
|
| 1932 |
|
|
2007-08-18 Roger Sayle
|
| 1933 |
|
|
|
| 1934 |
|
|
* primary.c (match_logical_constant_string): New function to match
|
| 1935 |
|
|
a ".true." or a ".false.".
|
| 1936 |
|
|
(match_logical_constant): Use it instead of gfc_match_strings.
|
| 1937 |
|
|
|
| 1938 |
|
|
2007-08-18 Paul Thomas
|
| 1939 |
|
|
Janus Weil
|
| 1940 |
|
|
|
| 1941 |
|
|
* interface.c (gfc_match_interface,gfc_match_abstract_interface,
|
| 1942 |
|
|
gfc_match_end_interface,gfc_add_interface): Add abstract interface.
|
| 1943 |
|
|
* dump-parse-tree.c (gfc_show_attr): Ditto.
|
| 1944 |
|
|
* gfortran.h (interface_type,symbol_attribute): Ditto.
|
| 1945 |
|
|
* module.c (gfc_match_use,ab_attribute,attr_bits,
|
| 1946 |
|
|
mio_symbol_attribute): Ditto.
|
| 1947 |
|
|
* resolve.c (resolve_function): Ditto.
|
| 1948 |
|
|
* match.h: Ditto.
|
| 1949 |
|
|
* parse.c (decode_statement): Ditto.
|
| 1950 |
|
|
(parse_interface): Ditto, check for C1203 (name of abstract interface
|
| 1951 |
|
|
cannot be the same as an intrinsic type).
|
| 1952 |
|
|
* decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
|
| 1953 |
|
|
(access_attr_decl): Handle Abstract interfaces.
|
| 1954 |
|
|
|
| 1955 |
|
|
2007-08-18 Paul Thomas
|
| 1956 |
|
|
|
| 1957 |
|
|
PR fortran/32881
|
| 1958 |
|
|
* expr.c (gfc_check_pointer_assign): If the rhs is the
|
| 1959 |
|
|
initialization expression for the rhs, there is no error.
|
| 1960 |
|
|
|
| 1961 |
|
|
2007-08-18 Paul Thomas
|
| 1962 |
|
|
|
| 1963 |
|
|
PR fortran/32875
|
| 1964 |
|
|
* trans-array.c (get_array_ctor_strlen): Set the character
|
| 1965 |
|
|
length of a zero length array to zero.
|
| 1966 |
|
|
|
| 1967 |
|
|
2007-08-16 Tobias Burnus
|
| 1968 |
|
|
|
| 1969 |
|
|
PR fortran/33072
|
| 1970 |
|
|
* module.c (gfc_match_use): Mark user operators as such.
|
| 1971 |
|
|
(find_use_name_n): Distinguish between operators and other symbols.
|
| 1972 |
|
|
(find_use_name,number_use_names,mio_namelist,
|
| 1973 |
|
|
load_operator_interfaces,load_generic_interfaces,read_module,
|
| 1974 |
|
|
write_generic): Update find_use_name_n calls.
|
| 1975 |
|
|
|
| 1976 |
|
|
2007-08-15 Francois-Xavier Coudert
|
| 1977 |
|
|
|
| 1978 |
|
|
PR fortran/29459
|
| 1979 |
|
|
* trans.c (gfc_create_var_np): Do not emit warnings for
|
| 1980 |
|
|
anonymous variables.
|
| 1981 |
|
|
|
| 1982 |
|
|
2007-08-15 Francois-Xavier Coudert
|
| 1983 |
|
|
|
| 1984 |
|
|
PR fortran/33066
|
| 1985 |
|
|
* decl.c (gfc_get_type_attr_spec): Fix whitespace.
|
| 1986 |
|
|
(gfc_match_derived_decl): Fix logic.
|
| 1987 |
|
|
|
| 1988 |
|
|
2007-08-14 Francois-Xavier Coudert
|
| 1989 |
|
|
|
| 1990 |
|
|
PR fortran/33073
|
| 1991 |
|
|
* trans-intrinsic.c (build_fixbound_expr): Convert to result type
|
| 1992 |
|
|
in all cases.
|
| 1993 |
|
|
|
| 1994 |
|
|
2007-08-14 Francois-Xavier Coudert
|
| 1995 |
|
|
|
| 1996 |
|
|
PR fortran/32594
|
| 1997 |
|
|
* trans-expr.c (gfc_conv_substring_expr): Only call
|
| 1998 |
|
|
gfc_conv_substring if expr->ref is not NULL.
|
| 1999 |
|
|
* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
|
| 2000 |
|
|
expression might be a constant.
|
| 2001 |
|
|
(gfc_simplify_expr): Handle missing start and end, as well as
|
| 2002 |
|
|
missing ref.
|
| 2003 |
|
|
|
| 2004 |
|
|
2007-08-13 Paul Thomas
|
| 2005 |
|
|
|
| 2006 |
|
|
PR fortran/32926
|
| 2007 |
|
|
* match.c (gfc_match_call): Do not create a new symtree in the
|
| 2008 |
|
|
case where the existing symbol is external and not referenced.
|
| 2009 |
|
|
|
| 2010 |
|
|
2007-08-13 Paul Thomas
|
| 2011 |
|
|
|
| 2012 |
|
|
PR fortran/32827
|
| 2013 |
|
|
* decl.c (variable_decl): Check for an imported symbol
|
| 2014 |
|
|
by looking for its symtree and testing for the imported
|
| 2015 |
|
|
attribute.
|
| 2016 |
|
|
(gfc_match_import): Remove change of symbol's namespace
|
| 2017 |
|
|
and set the attribute imported instead.
|
| 2018 |
|
|
* symbol.c (gfc_get_sym_tree): It is not an error if a
|
| 2019 |
|
|
symbol is imported.
|
| 2020 |
|
|
* gfortran.h : Add the 'imported' to symbol_attribute.
|
| 2021 |
|
|
|
| 2022 |
|
|
2007-08-13 Paul Thomas
|
| 2023 |
|
|
|
| 2024 |
|
|
PR fortran/32962
|
| 2025 |
|
|
* trans-array.c (gfc_conv_array_transpose): Set the offset
|
| 2026 |
|
|
of the destination to zero if the loop is zero based.
|
| 2027 |
|
|
|
| 2028 |
|
|
2007-08-12 Francois-Xavier Coudert
|
| 2029 |
|
|
|
| 2030 |
|
|
PR fortran/29600
|
| 2031 |
|
|
* intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
|
| 2032 |
|
|
* iresolve.c (gfc_resolve_achar): Handle the KIND argument.
|
| 2033 |
|
|
* check.c (gfc_check_achar): Check for the optional KIND argument.
|
| 2034 |
|
|
* simplify.c (gfc_simplify_achar): Use KIND argument.
|
| 2035 |
|
|
* intrinsic.h (gfc_check_achar, gfc_simplify_achar,
|
| 2036 |
|
|
gfc_resolve_achar): Adjust prototypes.
|
| 2037 |
|
|
|
| 2038 |
|
|
2007-08-12 Francois-Xavier Coudert
|
| 2039 |
|
|
|
| 2040 |
|
|
PR fortran/30964
|
| 2041 |
|
|
PR fortran/33054
|
| 2042 |
|
|
* trans-expr.c (gfc_conv_function_call): When no formal argument
|
| 2043 |
|
|
list is available, we still substitute missing optional arguments.
|
| 2044 |
|
|
* check.c (gfc_check_random_seed): Correct the check on the
|
| 2045 |
|
|
number of arguments to RANDOM_SEED.
|
| 2046 |
|
|
* intrinsic.c (add_subroutines): Add a resolution function to
|
| 2047 |
|
|
RANDOM_SEED.
|
| 2048 |
|
|
* iresolve.c (gfc_resolve_random_seed): New function.
|
| 2049 |
|
|
* intrinsic.h (gfc_resolve_random_seed): New prototype.
|
| 2050 |
|
|
|
| 2051 |
|
|
2007-08-12 Francois-Xavier Coudert
|
| 2052 |
|
|
|
| 2053 |
|
|
PR fortran/32860
|
| 2054 |
|
|
* error.c (error_uinteger): New function.
|
| 2055 |
|
|
(error_integer): Call error_uinteger.
|
| 2056 |
|
|
(error_print): Handle %u, %lu, %li and %ld format specifiers.
|
| 2057 |
|
|
* interface.c (compare_actual_formal): Use the new %lu specifier.
|
| 2058 |
|
|
|
| 2059 |
|
|
2007-08-12 Francois-Xavier Coudert
|
| 2060 |
|
|
|
| 2061 |
|
|
PR fortran/31629
|
| 2062 |
|
|
* lang.opt (-fmodule-private): New option.
|
| 2063 |
|
|
* gfortran.h (gfc_option_t): Add flag_module_private member.
|
| 2064 |
|
|
* invoke.texi (-fmodule-private): Document the new option.
|
| 2065 |
|
|
* module.c (gfc_check_access): Allow the -fmodule-private option
|
| 2066 |
|
|
to modify the default behaviour.
|
| 2067 |
|
|
* options.c (gfc_init_options): Initialize flag_module_private.
|
| 2068 |
|
|
(gfc_handle_option): Handle -fmodule-private.
|
| 2069 |
|
|
|
| 2070 |
|
|
2007-08-12 Francois-Xavier Coudert
|
| 2071 |
|
|
|
| 2072 |
|
|
PR fortran/29600
|
| 2073 |
|
|
* intrinsic.c (add_functions): Add KIND arguments to COUNT,
|
| 2074 |
|
|
IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
|
| 2075 |
|
|
and VERIFY.
|
| 2076 |
|
|
* iresolve.c (gfc_resolve_count): Add kind argument.
|
| 2077 |
|
|
(gfc_resolve_iachar): New function.
|
| 2078 |
|
|
(gfc_resolve_ichar): Add kind argument.
|
| 2079 |
|
|
(gfc_resolve_index_func): Likewise.
|
| 2080 |
|
|
(gfc_resolve_lbound): Likewise.
|
| 2081 |
|
|
(gfc_resolve_len): Likewise.
|
| 2082 |
|
|
(gfc_resolve_len_trim): Likewise.
|
| 2083 |
|
|
(gfc_resolve_scan): Likewise.
|
| 2084 |
|
|
(gfc_resolve_size): New function.
|
| 2085 |
|
|
(gfc_resolve_ubound): Add kind argument.
|
| 2086 |
|
|
(gfc_resolve_verify): Likewise.
|
| 2087 |
|
|
* trans-decl.c (gfc_get_extern_function_decl): Allow specific
|
| 2088 |
|
|
intrinsics to have 4 arguments.
|
| 2089 |
|
|
* check.c (gfc_check_count): Add kind argument.
|
| 2090 |
|
|
(gfc_check_ichar_iachar): Likewise.
|
| 2091 |
|
|
(gfc_check_index): Likewise.
|
| 2092 |
|
|
(gfc_check_lbound): Likewise.
|
| 2093 |
|
|
(gfc_check_len_lentrim): New function.
|
| 2094 |
|
|
(gfc_check_scan): Add kind argument.
|
| 2095 |
|
|
(gfc_check_size): Likewise.
|
| 2096 |
|
|
(gfc_check_ubound): Likewise.
|
| 2097 |
|
|
(gfc_check_verify): Likewise.
|
| 2098 |
|
|
* intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
|
| 2099 |
|
|
INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
|
| 2100 |
|
|
* simplify.c (get_kind): Whitespace fix.
|
| 2101 |
|
|
(int_expr_with_kind): New function.
|
| 2102 |
|
|
(gfc_simplify_iachar): Add kind argument.
|
| 2103 |
|
|
(gfc_simplify_iachar): Likewise.
|
| 2104 |
|
|
(gfc_simplify_ichar): Likewise.
|
| 2105 |
|
|
(gfc_simplify_index): Likewise.
|
| 2106 |
|
|
(simplify_bound_dim): Likewise.
|
| 2107 |
|
|
(simplify_bound): Likewise.
|
| 2108 |
|
|
(gfc_simplify_lbound): Likewise.
|
| 2109 |
|
|
(gfc_simplify_len): Likewise.
|
| 2110 |
|
|
(gfc_simplify_len_trim): Likewise.
|
| 2111 |
|
|
(gfc_simplify_scan): Likewise.
|
| 2112 |
|
|
(gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
|
| 2113 |
|
|
(gfc_simplify_size): Add kind argument.
|
| 2114 |
|
|
(gfc_simplify_ubound): Likewise.
|
| 2115 |
|
|
(gfc_simplify_verify): Likewise.
|
| 2116 |
|
|
* intrinsic.h: Update prototypes and add new ones.
|
| 2117 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
|
| 2118 |
|
|
gfc_conv_intrinsic_index_scan_verify.
|
| 2119 |
|
|
(gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
|
| 2120 |
|
|
(gfc_conv_intrinsic_function): Call
|
| 2121 |
|
|
gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
|
| 2122 |
|
|
SCAN and VERIFY intrinsics.
|
| 2123 |
|
|
|
| 2124 |
|
|
2007-08-11 Francois-Xavier Coudert
|
| 2125 |
|
|
|
| 2126 |
|
|
PR fortran/31189
|
| 2127 |
|
|
* invoke.texi (-fbacktrace): Document the new behaviour.
|
| 2128 |
|
|
|
| 2129 |
|
|
2007-08-11 Francois-Xavier Coudert
|
| 2130 |
|
|
|
| 2131 |
|
|
PR fortran/32937
|
| 2132 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Use
|
| 2133 |
|
|
gfc_conv_const_charlen to generate backend_decl of right type.
|
| 2134 |
|
|
* trans-expr.c (gfc_conv_expr_op): Use correct return type.
|
| 2135 |
|
|
(gfc_build_compare_string): Use int type instead of default
|
| 2136 |
|
|
integer kind for single character comparison.
|
| 2137 |
|
|
(gfc_conv_aliased_arg): Give backend_decl the right type.
|
| 2138 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Make
|
| 2139 |
|
|
compare_string return an int.
|
| 2140 |
|
|
|
| 2141 |
|
|
2007-08-11 Ian Lance Taylor
|
| 2142 |
|
|
|
| 2143 |
|
|
* f95-lang.c (gfc_get_alias_set): Change return type to
|
| 2144 |
|
|
alias_set_type.
|
| 2145 |
|
|
|
| 2146 |
|
|
2007-08-10 Francois-Xavier Coudert
|
| 2147 |
|
|
|
| 2148 |
|
|
PR fortran/31270
|
| 2149 |
|
|
* trans.c (gfc_trans_runtime_check): Reorder arguments and
|
| 2150 |
|
|
add extra variable arguments. Hand them to the library function.
|
| 2151 |
|
|
* trans.h (gfc_trans_runtime_check): Update prototype.
|
| 2152 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Issue more
|
| 2153 |
|
|
detailled error messages.
|
| 2154 |
|
|
(gfc_conv_array_ref): Likewise.
|
| 2155 |
|
|
(gfc_conv_ss_startstride): Likewise.
|
| 2156 |
|
|
(gfc_trans_dummy_array_bias): Reorder arguments to
|
| 2157 |
|
|
gfc_trans_runtime_check.
|
| 2158 |
|
|
* trans-expr.c (gfc_conv_substring): Issue more detailled
|
| 2159 |
|
|
error messages.
|
| 2160 |
|
|
(gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
|
| 2161 |
|
|
* trans-stmt.c (gfc_trans_goto): Likewise.
|
| 2162 |
|
|
* trans-io.c (set_string): Reorder arguments to
|
| 2163 |
|
|
gfc_trans_runtime_check and issue a more detailled error message.
|
| 2164 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Make
|
| 2165 |
|
|
runtime_error and runtime_error_at handle a variable number of
|
| 2166 |
|
|
arguments.
|
| 2167 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
|
| 2168 |
|
|
to gfc_trans_runtime_check.
|
| 2169 |
|
|
(gfc_conv_intrinsic_minmax): Likewise.
|
| 2170 |
|
|
(gfc_conv_intrinsic_repeat): Issue more detailled error messages.
|
| 2171 |
|
|
|
| 2172 |
|
|
2007-08-10 Kaveh R. Ghazi
|
| 2173 |
|
|
|
| 2174 |
|
|
* gfortranspec.c (lang_specific_driver): Use CONST_CAST.
|
| 2175 |
|
|
* options.c (gfc_post_options): Likewise.
|
| 2176 |
|
|
* parse.c (parse_omp_structured_block): Likewise.
|
| 2177 |
|
|
* st.c (gfc_free_statement): Likewise.
|
| 2178 |
|
|
|
| 2179 |
|
|
2007-08-10 Francois-Xavier Coudert
|
| 2180 |
|
|
|
| 2181 |
|
|
PR fortran/32933
|
| 2182 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Change
|
| 2183 |
|
|
prototype for associated.
|
| 2184 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
|
| 2185 |
|
|
result of __builtin_isnan into a boolean.
|
| 2186 |
|
|
(gfc_conv_intrinsic_strcmp): Cleanup.
|
| 2187 |
|
|
(gfc_conv_associated): Convert the result of the associated
|
| 2188 |
|
|
function into a boolean.
|
| 2189 |
|
|
|
| 2190 |
|
|
2007-08-09 Tobias Burnus
|
| 2191 |
|
|
|
| 2192 |
|
|
PR fortran/32987
|
| 2193 |
|
|
* io.c (format_token): Add FMT_ERROR.
|
| 2194 |
|
|
(next_char_not_space): Print error/warning when
|
| 2195 |
|
|
'\t' are used in format specifications.
|
| 2196 |
|
|
(format_lex): Propagate error.
|
| 2197 |
|
|
(check_format): Ditto.
|
| 2198 |
|
|
|
| 2199 |
|
|
2007-08-09 Tobias Burnus
|
| 2200 |
|
|
|
| 2201 |
|
|
PR fortran/33001
|
| 2202 |
|
|
* arith.c (arith_error): Point in the error message
|
| 2203 |
|
|
to -fno-range-check.
|
| 2204 |
|
|
|
| 2205 |
|
|
2007-08-09 Francois-Xavier Coudert
|
| 2206 |
|
|
|
| 2207 |
|
|
PR fortran/32902
|
| 2208 |
|
|
* intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
|
| 2209 |
|
|
|
| 2210 |
|
|
2007-08-06 Christopher D. Rickett
|
| 2211 |
|
|
|
| 2212 |
|
|
PR fortran/32732
|
| 2213 |
|
|
* trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
|
| 2214 |
|
|
actual arg expressions for scalar characters passed by-value to
|
| 2215 |
|
|
bind(c) routines.
|
| 2216 |
|
|
(gfc_conv_function_call): Call gfc_conv_scalar_char_value.
|
| 2217 |
|
|
* trans.h: Add prototype for gfc_conv_scalar_char_value.
|
| 2218 |
|
|
* trans-decl.c (generate_local_decl): Convert by-value character
|
| 2219 |
|
|
dummy args of bind(c) procedures using
|
| 2220 |
|
|
gfc_conv_scalar_char_value.
|
| 2221 |
|
|
|
| 2222 |
|
|
2007-08-06 Francois-Xavier Coudert
|
| 2223 |
|
|
|
| 2224 |
|
|
PR fortran/30947
|
| 2225 |
|
|
* iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
|
| 2226 |
|
|
with the kind of the STATUS argument.
|
| 2227 |
|
|
|
| 2228 |
|
|
2007-08-06 Francois-Xavier Coudert
|
| 2229 |
|
|
|
| 2230 |
|
|
PR fortran/30948
|
| 2231 |
|
|
* intrinsic.c (add_functions): Fix name of argument to CHDIR.
|
| 2232 |
|
|
|
| 2233 |
|
|
2007-08-06 Francois-Xavier Coudert
|
| 2234 |
|
|
|
| 2235 |
|
|
PR fortran/30933
|
| 2236 |
|
|
* iresolve.c (gfc_resolve_exit): Convert argument to default
|
| 2237 |
|
|
integer kind.
|
| 2238 |
|
|
|
| 2239 |
|
|
2007-08-06 Daniel Franke
|
| 2240 |
|
|
|
| 2241 |
|
|
* resolve.c (derived_pointer): Removed, replaced callers by access
|
| 2242 |
|
|
to appropiate attribute bit.
|
| 2243 |
|
|
(derived_inaccessable): Shortcut recursion depth.
|
| 2244 |
|
|
(resolve_fl_namelist): Fixed checks for private components in namelists.
|
| 2245 |
|
|
|
| 2246 |
|
|
2007-08-06 Francois-Xavier Coudert
|
| 2247 |
|
|
|
| 2248 |
|
|
PR fortran/29828
|
| 2249 |
|
|
* trans.h (gfor_fndecl_string_minmax): New prototype.
|
| 2250 |
|
|
* trans-decl.c (gfor_fndecl_string_minmax): New variable.
|
| 2251 |
|
|
(gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
|
| 2252 |
|
|
* check.c (gfc_check_min_max): Allow for character arguments.
|
| 2253 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
|
| 2254 |
|
|
(gfc_conv_intrinsic_function): Add special case for MIN and MAX
|
| 2255 |
|
|
intrinsics with character arguments.
|
| 2256 |
|
|
* simplify.c (simplify_min_max): Add simplification for character
|
| 2257 |
|
|
arguments.
|
| 2258 |
|
|
|
| 2259 |
|
|
2007-08-06 Francois-Xavier Coudert
|
| 2260 |
|
|
|
| 2261 |
|
|
PR fortran/31612
|
| 2262 |
|
|
* invoke.texi: Adjust documentation for option -fsyntax-only.
|
| 2263 |
|
|
|
| 2264 |
|
|
2007-08-05 Francois-Xavier Coudert
|
| 2265 |
|
|
Tobias Burnus
|
| 2266 |
|
|
|
| 2267 |
|
|
PR fortran/32979
|
| 2268 |
|
|
* intrinsic.h (gfc_check_isnan): Add prototype.
|
| 2269 |
|
|
* gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
|
| 2270 |
|
|
* intrinsic.c (add_functions): Add ISNAN intrinsic.
|
| 2271 |
|
|
* check.c (gfc_check_isnan): New function.
|
| 2272 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
|
| 2273 |
|
|
(gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
|
| 2274 |
|
|
to translate ISNAN.
|
| 2275 |
|
|
* intrinsic.texi: Document ISNAN.
|
| 2276 |
|
|
|
| 2277 |
|
|
2007-08-04 Paul Thomas
|
| 2278 |
|
|
|
| 2279 |
|
|
PR fortran/31214
|
| 2280 |
|
|
* symbol.c (get_unique_symtree): Moved from module.c.
|
| 2281 |
|
|
* module.c (get_unique_symtree): Moved to symbol.c.
|
| 2282 |
|
|
* decl.c (get_proc_name): Transfer the typespec from the local
|
| 2283 |
|
|
symbol to the module symbol, in the case that an entry is also
|
| 2284 |
|
|
a module procedure. Ensure the local symbol is cleaned up by
|
| 2285 |
|
|
pointing to it with a unique symtree.
|
| 2286 |
|
|
|
| 2287 |
|
|
* dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
|
| 2288 |
|
|
|
| 2289 |
|
|
2007-08-04 Steven G. Kargl
|
| 2290 |
|
|
|
| 2291 |
|
|
PR fortran/32969
|
| 2292 |
|
|
* iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
|
| 2293 |
|
|
expected KIND.
|
| 2294 |
|
|
(gfc_resolve_scale): Ditto.
|
| 2295 |
|
|
(gfc_resolve_set_exponent): Ditto.
|
| 2296 |
|
|
(gfc_resolve_spacing): Ditto.
|
| 2297 |
|
|
|
| 2298 |
|
|
PR fortran/32968
|
| 2299 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
|
| 2300 |
|
|
gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
|
| 2301 |
|
|
expected KIND, and fold the result to the expected KIND.
|
| 2302 |
|
|
|
| 2303 |
|
|
2007-08-03 Francois-Xavier Coudert
|
| 2304 |
|
|
|
| 2305 |
|
|
PR fortran/31202
|
| 2306 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Defin builtins for
|
| 2307 |
|
|
lround{f,,l} and llround{f,,l}.
|
| 2308 |
|
|
* trans-intrinsic.c (build_fix_expr): Generate calls to the
|
| 2309 |
|
|
{l,}round{f,,l} functions.
|
| 2310 |
|
|
|
| 2311 |
|
|
2007-08-01 Thomas Koenig
|
| 2312 |
|
|
|
| 2313 |
|
|
PR libfortran/32954
|
| 2314 |
|
|
* intrinsic.c (resolve_mask_arg): New function.
|
| 2315 |
|
|
(gfc_resolve_maxloc): Use resolve_mask_arg for mask resolution.
|
| 2316 |
|
|
(gfc_resolve_maxval): Likewise.
|
| 2317 |
|
|
(gfc_resolve_minloc): Likewise.
|
| 2318 |
|
|
(gfc_resolve_minval): Likewise.
|
| 2319 |
|
|
(gfc_resolve_pack): Likewise.
|
| 2320 |
|
|
(gfc_resolve_product): Likewise.
|
| 2321 |
|
|
(gfc_resolve_sum): Likewise.
|
| 2322 |
|
|
(gfc_resolve_unpack): Likewise.
|
| 2323 |
|
|
|
| 2324 |
|
|
2007-08-01 Tobias Burnus
|
| 2325 |
|
|
|
| 2326 |
|
|
PR fortran/32936
|
| 2327 |
|
|
* match.c (gfc_match_allocate): Better check that STAT is
|
| 2328 |
|
|
a variable.
|
| 2329 |
|
|
|
| 2330 |
|
|
* check.c (gfc_check_allocated): Reorder checks to improve
|
| 2331 |
|
|
error message.
|
| 2332 |
|
|
|
| 2333 |
|
|
2007-08-01 Nick Clifton
|
| 2334 |
|
|
|
| 2335 |
|
|
* arith.c: Change copyright header to refer to version 3 of the
|
| 2336 |
|
|
GNU General Public License and to point readers at the COPYING3
|
| 2337 |
|
|
file and the FSF's license web page.
|
| 2338 |
|
|
* openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
|
| 2339 |
|
|
symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
|
| 2340 |
|
|
matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
|
| 2341 |
|
|
Make-lang.in, trans-openmp.c, gfortran.h, error.c,
|
| 2342 |
|
|
iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
|
| 2343 |
|
|
expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
|
| 2344 |
|
|
trans-types.c, trans.h, gfortranspec.c, trans-types.h,
|
| 2345 |
|
|
lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
|
| 2346 |
|
|
iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
|
| 2347 |
|
|
match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
|
| 2348 |
|
|
parse.h, types.def, convert.c, dependency.h, primary.c,
|
| 2349 |
|
|
trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
|
| 2350 |
|
|
|
| 2351 |
|
|
2007-08-01 Daniel Franke
|
| 2352 |
|
|
|
| 2353 |
|
|
* trans-decl.c (generate_local_decl): Emit warning on unused parameter
|
| 2354 |
|
|
on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
|
| 2355 |
|
|
messages that start with lower case to upper case.
|
| 2356 |
|
|
* invoke.texi (-Wparameter-unused): Document differences between gcc
|
| 2357 |
|
|
and gfortran regarding this option.
|
| 2358 |
|
|
|
| 2359 |
|
|
2007-08-01 Daniel Franke
|
| 2360 |
|
|
|
| 2361 |
|
|
PR fortran/32945
|
| 2362 |
|
|
* expr.c (check_specification_function): Skip check if no symtree
|
| 2363 |
|
|
is available.
|
| 2364 |
|
|
|
| 2365 |
|
|
2007-08-01 Paul Thomas
|
| 2366 |
|
|
|
| 2367 |
|
|
PR fortran/31609
|
| 2368 |
|
|
* resolve.c (resolve_entries): Entries declared to be module
|
| 2369 |
|
|
procedures must point to the function namespace.
|
| 2370 |
|
|
|
| 2371 |
|
|
2007-07-31 Francois-Xavier Coudert
|
| 2372 |
|
|
|
| 2373 |
|
|
PR fortran/32938
|
| 2374 |
|
|
* trans-stmt.c (gfc_trans_return): Convert to correct type.
|
| 2375 |
|
|
|
| 2376 |
|
|
2007-07-31 Steven G. Kargl
|
| 2377 |
|
|
|
| 2378 |
|
|
PR fortran/32942
|
| 2379 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
|
| 2380 |
|
|
type.
|
| 2381 |
|
|
|
| 2382 |
|
|
2007-07-29 Jerry DeLisle
|
| 2383 |
|
|
|
| 2384 |
|
|
* invoke.texi: Document -fsign-zero flag.
|
| 2385 |
|
|
|
| 2386 |
|
|
2007-07-29 Paul Thomas
|
| 2387 |
|
|
|
| 2388 |
|
|
PR fortran/31211
|
| 2389 |
|
|
* trans-expr.c (gfc_conv_expr_reference): Add block for case of
|
| 2390 |
|
|
scalar pointer functions so that NULL result is correctly
|
| 2391 |
|
|
handled.
|
| 2392 |
|
|
|
| 2393 |
|
|
PR fortran/32682
|
| 2394 |
|
|
* trans-array.c (gfc_trans_array_constructor): On detecting a
|
| 2395 |
|
|
multi-dimensional parameter array, set the loop limits.
|
| 2396 |
|
|
|
| 2397 |
|
|
2007-07-29 Daniel Franke
|
| 2398 |
|
|
|
| 2399 |
|
|
PR fortran/32906
|
| 2400 |
|
|
* resolve.c (resolve_fl_parameter): Check for constant shape arrays,
|
| 2401 |
|
|
adjusted error message.
|
| 2402 |
|
|
|
| 2403 |
|
|
2007-07-29 Daniel Franke
|
| 2404 |
|
|
|
| 2405 |
|
|
* invoke.texi: Removed -w from option summary.
|
| 2406 |
|
|
|
| 2407 |
|
|
2007-07-29 Daniel Franke
|
| 2408 |
|
|
|
| 2409 |
|
|
PR fortran/32879
|
| 2410 |
|
|
* intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
|
| 2411 |
|
|
used for random number generator.
|
| 2412 |
|
|
|
| 2413 |
|
|
2007-07-28 Kazu Hirata
|
| 2414 |
|
|
|
| 2415 |
|
|
* gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
|
| 2416 |
|
|
typos.
|
| 2417 |
|
|
* intrinsic.texi, invoke.texi: Fix typos.
|
| 2418 |
|
|
|
| 2419 |
|
|
2007-07-28 Jerry DeLisle
|
| 2420 |
|
|
|
| 2421 |
|
|
PR fortran/31609
|
| 2422 |
|
|
* resolve.c (generic_sym): Check for a same symbol and if so, return to
|
| 2423 |
|
|
avoid infinite recursion.
|
| 2424 |
|
|
|
| 2425 |
|
|
2007-07-28 Daniel Franke
|
| 2426 |
|
|
|
| 2427 |
|
|
PR fortran/31818
|
| 2428 |
|
|
PR fortran/32876
|
| 2429 |
|
|
PR fortran/32905
|
| 2430 |
|
|
* gfortran.h (symbol_attribute): Added bits for pointer_comp,
|
| 2431 |
|
|
private_comp.
|
| 2432 |
|
|
* parse.c (parse_derived): Set pointer_comp/private_comp bits if
|
| 2433 |
|
|
the derived type ultimately contains pointer components or private
|
| 2434 |
|
|
components.
|
| 2435 |
|
|
* module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
|
| 2436 |
|
|
(attr_bits): Added names for new ab_attributes.
|
| 2437 |
|
|
(mio_symbol_attribute): Save/restore new attribute bits in modules.
|
| 2438 |
|
|
* match.c (gfc_match_namelist): Removed check for namelist objects
|
| 2439 |
|
|
of assumed shape.
|
| 2440 |
|
|
* resolve.c (resolve_fl_namelist): Added check for pointer or
|
| 2441 |
|
|
private components in nested types. Added check for namelist objects
|
| 2442 |
|
|
of assumed shape.
|
| 2443 |
|
|
|
| 2444 |
|
|
2007-07-28 Paul Thomas
|
| 2445 |
|
|
|
| 2446 |
|
|
PR fortran/32880
|
| 2447 |
|
|
* trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
|
| 2448 |
|
|
for lse and rse pre expressions, for derived types with
|
| 2449 |
|
|
allocatable components. Instead, assign the lhs to a temporary
|
| 2450 |
|
|
and deallocate after the assignment.
|
| 2451 |
|
|
|
| 2452 |
|
|
2007-07-28 Janne Blomqvist
|
| 2453 |
|
|
|
| 2454 |
|
|
PR fortran/32909
|
| 2455 |
|
|
* trans-stmt.c (gfc_trans_character_select): Replace occurrences
|
| 2456 |
|
|
of gfc_c_int_type_node with integer_type_node.
|
| 2457 |
|
|
* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
|
| 2458 |
|
|
(gfc_build_builtin_function_decls): Likewise.
|
| 2459 |
|
|
(gfc_generate_function_code): Likewise.
|
| 2460 |
|
|
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
|
| 2461 |
|
|
|
| 2462 |
|
|
2007-07-27 Janne Blomqvist
|
| 2463 |
|
|
|
| 2464 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Use existing
|
| 2465 |
|
|
gfc_array_index_type rather than creating another typenode for
|
| 2466 |
|
|
gfc_index_integer_kind.
|
| 2467 |
|
|
|
| 2468 |
|
|
2007-07-27 Janne Blomqvist
|
| 2469 |
|
|
|
| 2470 |
|
|
* trans-io.c (gfc_build_io_library_fndecls): Change to use
|
| 2471 |
|
|
gfc_array_index_type for array descriptor triplets instead of
|
| 2472 |
|
|
gfc_int4_type_node.
|
| 2473 |
|
|
|
| 2474 |
|
|
2007-07-26 Steven G. Kargl
|
| 2475 |
|
|
|
| 2476 |
|
|
PR fortran/32899
|
| 2477 |
|
|
* resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
|
| 2478 |
|
|
|
| 2479 |
|
|
2007-07-27 Jerry DeLisle
|
| 2480 |
|
|
Daniel Franke
|
| 2481 |
|
|
|
| 2482 |
|
|
PR fortran/32760
|
| 2483 |
|
|
* primary.c (match_variable): Do not call gfc_add_flavor if symbol has
|
| 2484 |
|
|
attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
|
| 2485 |
|
|
|
| 2486 |
|
|
2007-07-27 Francois-Xavier Coudert
|
| 2487 |
|
|
|
| 2488 |
|
|
PR fortran/32035
|
| 2489 |
|
|
* trans-stmt.c (gfc_trans_character_select): Replace the
|
| 2490 |
|
|
mechanism with labels by a SWITCH_EXPR.
|
| 2491 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Change
|
| 2492 |
|
|
return type for select_string.
|
| 2493 |
|
|
|
| 2494 |
|
|
2007-07-27 Paul Thomas
|
| 2495 |
|
|
|
| 2496 |
|
|
PR fortran/32903
|
| 2497 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
|
| 2498 |
|
|
derived types as referenced, if they have the the default
|
| 2499 |
|
|
initializer set.
|
| 2500 |
|
|
|
| 2501 |
|
|
2007-07-25 Kaveh R. Ghazi
|
| 2502 |
|
|
|
| 2503 |
|
|
* gfortran.h (generate_isocbinding_symbol): Constify.
|
| 2504 |
|
|
* symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
|
| 2505 |
|
|
generate_isocbinding_symbol): Likewise.
|
| 2506 |
|
|
|
| 2507 |
|
|
2007-07-24 Paul Thomas
|
| 2508 |
|
|
|
| 2509 |
|
|
PR fortran/31205
|
| 2510 |
|
|
PR fortran/32842
|
| 2511 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove the default
|
| 2512 |
|
|
initialization of intent(out) derived types.
|
| 2513 |
|
|
* symbol.c (gfc_lval_expr_from_sym): New function.
|
| 2514 |
|
|
* matchexp.c (gfc_get_parentheses): Return argument, if it is
|
| 2515 |
|
|
character and posseses a ref.
|
| 2516 |
|
|
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
|
| 2517 |
|
|
* resolve.c (has_default_initializer): Move higher up in file.
|
| 2518 |
|
|
(resolve_code): On detecting an interface assignment, check
|
| 2519 |
|
|
if the rhs and the lhs are the same symbol. If this is so,
|
| 2520 |
|
|
enclose the rhs in parenetheses to generate a temporary and
|
| 2521 |
|
|
prevent any possible aliasing.
|
| 2522 |
|
|
(apply_default_init): Remove code making the lval and call
|
| 2523 |
|
|
gfc_lval_expr_from_sym instead.
|
| 2524 |
|
|
(resolve_operator): Give a parentheses expression a type-
|
| 2525 |
|
|
spec if it has no type.
|
| 2526 |
|
|
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
|
| 2527 |
|
|
initializer, if any, to an intent(out) derived type, using
|
| 2528 |
|
|
gfc_lval_expr_from_sym and gfc_trans_assignment. Check if
|
| 2529 |
|
|
the dummy is present.
|
| 2530 |
|
|
|
| 2531 |
|
|
2007-07-24 Daniel Franke
|
| 2532 |
|
|
|
| 2533 |
|
|
PR fortran/32867
|
| 2534 |
|
|
* expr.c (check_init_expr): Simplify matched functions.
|
| 2535 |
|
|
|
| 2536 |
|
|
2007-07-24 Daniel Franke
|
| 2537 |
|
|
|
| 2538 |
|
|
PR fortran/32778
|
| 2539 |
|
|
* intrinsic.c (add_sym): Do not exclude any symbols, even if not part
|
| 2540 |
|
|
of the selected standard.
|
| 2541 |
|
|
(make generic): Likewise.
|
| 2542 |
|
|
(make alias): Likewise, set standard the alias belongs to.
|
| 2543 |
|
|
(add_subroutines): Call make_noreturn unconditionally.
|
| 2544 |
|
|
(check_intrinsic_standard): Change return value to try.
|
| 2545 |
|
|
(gfc_intrinsic_func_interface): Check return value of above function.
|
| 2546 |
|
|
(gfc_intrinsic_sub_interface): Likewise.
|
| 2547 |
|
|
|
| 2548 |
|
|
2007-07-24 Thomas Koenig
|
| 2549 |
|
|
|
| 2550 |
|
|
PR fortran/30814
|
| 2551 |
|
|
* trans-decl.c (generate_function_code): Add argument
|
| 2552 |
|
|
for flag_bounds_check to the array for set_options.
|
| 2553 |
|
|
* invoke.texi (-fbounds-check): Document new libarary run-time
|
| 2554 |
|
|
behaviour.
|
| 2555 |
|
|
|
| 2556 |
|
|
2007-07-23 Daniel Franke
|
| 2557 |
|
|
|
| 2558 |
|
|
PR fortran/25104
|
| 2559 |
|
|
PR fortran/31639
|
| 2560 |
|
|
* expr.c (check_transformational): Reject valid transformational
|
| 2561 |
|
|
intrinsics to avoid ICE.
|
| 2562 |
|
|
(check_inquiry): Report error for assumed character lengths for
|
| 2563 |
|
|
all supported standards.
|
| 2564 |
|
|
(check_init_expr): Whitespace fix.
|
| 2565 |
|
|
|
| 2566 |
|
|
2007-07-23 Christopher D. Rickett
|
| 2567 |
|
|
|
| 2568 |
|
|
PR fortran/32797
|
| 2569 |
|
|
PR fortran/32800
|
| 2570 |
|
|
* decl.c (verify_bind_c_sym): Use the result symbol for functions
|
| 2571 |
|
|
with a result clause. Warn if implicitly typed. Verify the type
|
| 2572 |
|
|
and rank of the SHAPE argument, if given.
|
| 2573 |
|
|
* resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
|
| 2574 |
|
|
check the actual args against the formal, sorting them if
|
| 2575 |
|
|
necessary.
|
| 2576 |
|
|
* symbol.c (gen_shape_param): Initialize type of SHAPE param to
|
| 2577 |
|
|
BT_VOID.
|
| 2578 |
|
|
|
| 2579 |
|
|
2007-07-23 Christopher D. Rickett
|
| 2580 |
|
|
|
| 2581 |
|
|
PR fortran/32732
|
| 2582 |
|
|
* trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
|
| 2583 |
|
|
value character dummy args of BIND(C) procedures.
|
| 2584 |
|
|
* trans-expr.c (gfc_conv_variable): Do not build address
|
| 2585 |
|
|
expression for BT_CHARACTER dummy args.
|
| 2586 |
|
|
|
| 2587 |
|
|
2007-07-23 Christopher D. Rickett
|
| 2588 |
|
|
Tobias Burnus
|
| 2589 |
|
|
|
| 2590 |
|
|
PR fortran/32600
|
| 2591 |
|
|
* trans-expr.c (gfc_conv_function_call): Handle c_funloc.
|
| 2592 |
|
|
* trans-types.c: Add pfunc_type_node.
|
| 2593 |
|
|
(gfc_init_types,gfc_typenode_for_spec): Use it.
|
| 2594 |
|
|
* resolve.c (gfc_iso_c_func_interface): Fix whitespace and
|
| 2595 |
|
|
improve error message.
|
| 2596 |
|
|
|
| 2597 |
|
|
2007-07-22 Daniel Franke
|
| 2598 |
|
|
|
| 2599 |
|
|
PR fortran/32710
|
| 2600 |
|
|
* parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
|
| 2601 |
|
|
the current is a namelist.
|
| 2602 |
|
|
|
| 2603 |
|
|
2007-07-22 Daniel Franke
|
| 2604 |
|
|
|
| 2605 |
|
|
PR fortran/29962
|
| 2606 |
|
|
PR fortran/31253
|
| 2607 |
|
|
PR fortran/31265
|
| 2608 |
|
|
PR fortran/31639
|
| 2609 |
|
|
* gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
|
| 2610 |
|
|
generic, specific, actual_ok, noreturn into bits of a bitfield,
|
| 2611 |
|
|
added bits for inquiry, transformational, conversion.
|
| 2612 |
|
|
* check.c (non_init_transformational): Removed, removed all callers.
|
| 2613 |
|
|
* intrinsic.c (enum class): New.
|
| 2614 |
|
|
(add_sym*): Replaced argument elemetal by enum class. Changed all
|
| 2615 |
|
|
callers.
|
| 2616 |
|
|
(add_functions): Assign appropriate classes to intrinsic functions.
|
| 2617 |
|
|
(add_subroutines): Assign appropriate classes to intrinsic subroutines.
|
| 2618 |
|
|
(add_conv): Set conversion attribute.
|
| 2619 |
|
|
(gfc_init_expr_extensions): Removed, removed all callers.
|
| 2620 |
|
|
(gfc_intrinsic_func_interface): Reimplemented check for non-standard
|
| 2621 |
|
|
initializatione expressions.
|
| 2622 |
|
|
* expr.c (check_specification_function): New.
|
| 2623 |
|
|
(gfc_is_constant_expr): Added check for specification functions.
|
| 2624 |
|
|
(check_init_expr_arguments): New.
|
| 2625 |
|
|
(check_inquiry): Changed return value to MATCH, added checks for
|
| 2626 |
|
|
inquiry functions defined by F2003.
|
| 2627 |
|
|
(check_transformational): New.
|
| 2628 |
|
|
(check_null): New.
|
| 2629 |
|
|
(check_elemental): New.
|
| 2630 |
|
|
(check_conversion): New.
|
| 2631 |
|
|
(check_init_expr): Call new check functions, add more specific error
|
| 2632 |
|
|
messages.
|
| 2633 |
|
|
|
| 2634 |
|
|
2007-07-21 Christopher D. Rickett
|
| 2635 |
|
|
|
| 2636 |
|
|
PR fortran/32627
|
| 2637 |
|
|
* resolve.c (set_name_and_label): Set kind number for character
|
| 2638 |
|
|
version of c_f_pointer.
|
| 2639 |
|
|
(gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
|
| 2640 |
|
|
that of the actual SHAPE arg.
|
| 2641 |
|
|
* symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
|
| 2642 |
|
|
|
| 2643 |
|
|
2007-07-21 Christopher D. Rickett
|
| 2644 |
|
|
|
| 2645 |
|
|
PR fortran/32801
|
| 2646 |
|
|
* symbol.c (generate_isocbinding_symbol): Remove unnecessary
|
| 2647 |
|
|
conditional.
|
| 2648 |
|
|
|
| 2649 |
|
|
PR fortran/32804
|
| 2650 |
|
|
* resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
|
| 2651 |
|
|
deferred-shape arrays as args to C_LOC. Fix bug in testing
|
| 2652 |
|
|
character args to C_LOC.
|
| 2653 |
|
|
|
| 2654 |
|
|
2007-07-21 Lee Millward
|
| 2655 |
|
|
|
| 2656 |
|
|
PR fortran/32823
|
| 2657 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
|
| 2658 |
|
|
arguments passed, not just the first one. Adjust code to
|
| 2659 |
|
|
refer to "args[0]" instead of "arg" as a result.
|
| 2660 |
|
|
|
| 2661 |
|
|
2007-07-19 Christopher D. Rickett
|
| 2662 |
|
|
|
| 2663 |
|
|
PR fortran/32600
|
| 2664 |
|
|
* trans-expr.c (gfc_conv_function_call): Inline C_LOC.
|
| 2665 |
|
|
|
| 2666 |
|
|
2007-07-18 Christopher D. Rickett
|
| 2667 |
|
|
|
| 2668 |
|
|
PR fortran/32801
|
| 2669 |
|
|
* symbol.c (generate_isocbinding_symbol): Fix bug where
|
| 2670 |
|
|
ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
|
| 2671 |
|
|
ISOCBINDING_PTR.
|
| 2672 |
|
|
|
| 2673 |
|
|
2007-07-17 Janus Weil
|
| 2674 |
|
|
|
| 2675 |
|
|
PR fortran/32535
|
| 2676 |
|
|
* resolve.c (resolve_fl_namelist): Check for namelist private
|
| 2677 |
|
|
components in contained subprograms.
|
| 2678 |
|
|
|
| 2679 |
|
|
2007-07-17 Paul Thomas
|
| 2680 |
|
|
|
| 2681 |
|
|
PR fortran/31320
|
| 2682 |
|
|
PR fortran/32665
|
| 2683 |
|
|
* trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
|
| 2684 |
|
|
renormalization unity base is done independently of existing
|
| 2685 |
|
|
lbound value.
|
| 2686 |
|
|
(gfc_trans_scalar_assign): If rhs is not a variable, put
|
| 2687 |
|
|
lse->pre after rse->pre to ensure that de-allocation of lhs
|
| 2688 |
|
|
occurs after evaluation of rhs.
|
| 2689 |
|
|
|
| 2690 |
|
|
2007-07-16 Lee Millward
|
| 2691 |
|
|
|
| 2692 |
|
|
PR fortran/32222
|
| 2693 |
|
|
PR fortran/32238
|
| 2694 |
|
|
PR fortran/32242
|
| 2695 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
|
| 2696 |
|
|
to operate on a stack allocated array for the intrinsic arguments
|
| 2697 |
|
|
instead of creating a TREE_LIST. Add two new parameters for the
|
| 2698 |
|
|
array and the number of elements. Update all callers to allocate
|
| 2699 |
|
|
an array of the correct length to pass in. Update comment.
|
| 2700 |
|
|
(gfc_intrinsic_argument_list_length): New function.
|
| 2701 |
|
|
(gfc_conv_intrinsic_conversion): Call it.
|
| 2702 |
|
|
(gfc_conv_intrinsic_mnimax): Likewise.
|
| 2703 |
|
|
(gfc_conv_intrinsic_merge): Likewise.
|
| 2704 |
|
|
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
|
| 2705 |
|
|
constructors.
|
| 2706 |
|
|
(gfc_conv_intrinsic_cmplx): Likewise.
|
| 2707 |
|
|
(gfc_conv_intrinsic_ctime): Likewise.
|
| 2708 |
|
|
(gfc_covn_intrinsic_fdate): Likewise.
|
| 2709 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
| 2710 |
|
|
(gfc_conv_intrinsic_ishftc): Likewise.
|
| 2711 |
|
|
(gfc_conv_intrinsic_index): Likewise.
|
| 2712 |
|
|
(gfc_conv_intrinsic_scan): Likewise.
|
| 2713 |
|
|
(gfc_conv_intrinsic_verify): Likewise.
|
| 2714 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
| 2715 |
|
|
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
|
| 2716 |
|
|
(gfc_conv_intrinsic_exponent): Likewise.
|
| 2717 |
|
|
(gfc_conv_intrinsic_bound): Likewise.
|
| 2718 |
|
|
(gfc_conv_intrinsic_abs): Likewise.
|
| 2719 |
|
|
(gfc_conv_intrinsic_mod): Likewise.
|
| 2720 |
|
|
(gfc_conv_intrinsic_sign): Likewise.
|
| 2721 |
|
|
(gfc_conv_intrinsic_len): Likewise.
|
| 2722 |
|
|
(gfc_conv_intrinsic_adjust): Likewise.
|
| 2723 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
| 2724 |
|
|
|
| 2725 |
|
|
2007-07-16 Janne Blomqvist
|
| 2726 |
|
|
|
| 2727 |
|
|
PR fortran/32748
|
| 2728 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Remove
|
| 2729 |
|
|
DECL_IS_MALLOC attribute from internal_realloc, thus reverting
|
| 2730 |
|
|
part of my 2007-07-03 patch.
|
| 2731 |
|
|
|
| 2732 |
|
|
2007-07-15 Jerry DeLisle
|
| 2733 |
|
|
Francois-Xavier Coudert
|
| 2734 |
|
|
|
| 2735 |
|
|
PR fortran/32611
|
| 2736 |
|
|
* gfortran.h (gfc_option_t): Add flag_sign_zero field.
|
| 2737 |
|
|
* lang.opt (-fsign-zero): New option.
|
| 2738 |
|
|
* trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
|
| 2739 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Build the function
|
| 2740 |
|
|
declaration to pass an array containing the options to be used by the
|
| 2741 |
|
|
runtime library. (gfc_generate_function_code): Build an array that
|
| 2742 |
|
|
contains option values to be passed to the runtime library and the call
|
| 2743 |
|
|
to the function.
|
| 2744 |
|
|
* options.c (gfc_init_options): Initialize the flag_sign_zero field.
|
| 2745 |
|
|
(gfc_handle_option): Handle the -fsign-zero option.
|
| 2746 |
|
|
|
| 2747 |
|
|
2007-07-15 Francois-Xavier Coudert
|
| 2748 |
|
|
|
| 2749 |
|
|
PR fortran/32036
|
| 2750 |
|
|
* trans-array.c (gfc_conv_array_ref): Only evaluate index once.
|
| 2751 |
|
|
|
| 2752 |
|
|
2007-07-15 Francois-Xavier Coudert
|
| 2753 |
|
|
|
| 2754 |
|
|
PR fortran/32357
|
| 2755 |
|
|
* iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
|
| 2756 |
|
|
to C int.
|
| 2757 |
|
|
|
| 2758 |
|
|
2007-07-14 Thomas Koenig
|
| 2759 |
|
|
|
| 2760 |
|
|
PR libfortran/32731
|
| 2761 |
|
|
* iresolve.c(gfc_resolve_pack): A scalar mask has
|
| 2762 |
|
|
to be kind=4, an array mask with kind<4 is converted
|
| 2763 |
|
|
to gfc_default_logical_kind automatically.
|
| 2764 |
|
|
(gfc_resolve_unpack): Convert mask to gfc_default_lotical_kind
|
| 2765 |
|
|
if it has a kind<4.
|
| 2766 |
|
|
|
| 2767 |
|
|
2007-07-14 Paul Thomas
|
| 2768 |
|
|
|
| 2769 |
|
|
PR fortran/32724
|
| 2770 |
|
|
* parse.c (parse_spec): Emit error on unexpected statement
|
| 2771 |
|
|
function.
|
| 2772 |
|
|
|
| 2773 |
|
|
2007-07-13 Daniel Franke
|
| 2774 |
|
|
|
| 2775 |
|
|
* invoke.texi: Unified upper- and lower-case in menus.
|
| 2776 |
|
|
(-w, -W): Removed, documented by gcc.
|
| 2777 |
|
|
* intrinsic.texi: Unified Class-section entries, added
|
| 2778 |
|
|
subroutine/function warning where appropiate.
|
| 2779 |
|
|
|
| 2780 |
|
|
2007-07-12 Daniel Franke
|
| 2781 |
|
|
|
| 2782 |
|
|
PR fortran/31639
|
| 2783 |
|
|
* decl.c (gfc_match_suffix): Removed surplus general error that hides
|
| 2784 |
|
|
a more specific message.
|
| 2785 |
|
|
* resolve.c (resolve_fl_variable): Reject illegal initializiers only
|
| 2786 |
|
|
if not already done.
|
| 2787 |
|
|
(resolve_fl_procedure): Added check for initializers of functions.
|
| 2788 |
|
|
|
| 2789 |
|
|
2007-07-12 Daniel Franke
|
| 2790 |
|
|
|
| 2791 |
|
|
PR fortran/32704
|
| 2792 |
|
|
* invoke.texi (-static-libgfortran): Document new option.
|
| 2793 |
|
|
|
| 2794 |
|
|
2007-07-12 Paul Thomas
|
| 2795 |
|
|
|
| 2796 |
|
|
PR fortran/32634
|
| 2797 |
|
|
PR fortran/32727
|
| 2798 |
|
|
* module.c (write_generic): Restore patch of 2007-07-10 and use
|
| 2799 |
|
|
symbol name if there are no use names.
|
| 2800 |
|
|
|
| 2801 |
|
|
2007-07-12 Christopher D. Rickett
|
| 2802 |
|
|
|
| 2803 |
|
|
PR fortran/32599
|
| 2804 |
|
|
* decl.c (verify_c_interop_param): Require character string dummy
|
| 2805 |
|
|
args to BIND(C) procedures to have length 1.
|
| 2806 |
|
|
* resolve.c (resolve_fl_procedure): Modify parameter checking for
|
| 2807 |
|
|
BIND(C) procedures.
|
| 2808 |
|
|
|
| 2809 |
|
|
PR fortran/32601
|
| 2810 |
|
|
* resolve.c (gfc_iso_c_func_interface): Verify that a valid
|
| 2811 |
|
|
expression is given as an argument to C_LOC and C_ASSOCIATED.
|
| 2812 |
|
|
* trans-io.c (transfer_expr): Add argument for code block. Add
|
| 2813 |
|
|
standards check to determine if an error message should be
|
| 2814 |
|
|
reported for printing C_PTR or C_FUNPTR.
|
| 2815 |
|
|
(transfer_array_component): Update arguments to transfer_expr.
|
| 2816 |
|
|
(gfc_trans_transfer): Ditto.
|
| 2817 |
|
|
|
| 2818 |
|
|
* symbol.c (gen_cptr_param): Fix whitespace.
|
| 2819 |
|
|
|
| 2820 |
|
|
2007-07-12 Jakub Jelinek
|
| 2821 |
|
|
|
| 2822 |
|
|
PR fortran/32550
|
| 2823 |
|
|
* trans.h (GFC_POINTER_TYPE_P): Define.
|
| 2824 |
|
|
* trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
|
| 2825 |
|
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Return false
|
| 2826 |
|
|
if GFC_POINTER_TYPE_P is set on the type.
|
| 2827 |
|
|
|
| 2828 |
|
|
2007-07-12 Richard Guenther
|
| 2829 |
|
|
|
| 2830 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
|
| 2831 |
|
|
arguments to gfc_charlen_type_node.
|
| 2832 |
|
|
* trans-io.c (gfc_convert_array_to_string): Convert type
|
| 2833 |
|
|
size to gfc_array_index_type.
|
| 2834 |
|
|
|
| 2835 |
|
|
2007-07-12 Daniel Franke
|
| 2836 |
|
|
|
| 2837 |
|
|
PR fortran/32634
|
| 2838 |
|
|
PR fortran/32727
|
| 2839 |
|
|
* module.c: Reverted Paul's patch from 2007-07-10.
|
| 2840 |
|
|
|
| 2841 |
|
|
2007-07-11 Richard Guenther
|
| 2842 |
|
|
|
| 2843 |
|
|
* trans-array.c (gfc_conv_array_parameter): Use correct
|
| 2844 |
|
|
types for comparison.
|
| 2845 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
|
| 2846 |
|
|
correct types for POINTER_PLUS_EXPR.
|
| 2847 |
|
|
* trans-stmt.c (gfc_trans_forall_loop): Use correct type
|
| 2848 |
|
|
for integer one constant.
|
| 2849 |
|
|
|
| 2850 |
|
|
2007-07-10 Paul Thomas
|
| 2851 |
|
|
|
| 2852 |
|
|
PR fortran/32157
|
| 2853 |
|
|
* resolve.c (is_external_proc): New function. Adds test that
|
| 2854 |
|
|
the symbol is not an intrinsic procedure.
|
| 2855 |
|
|
* (resolve_function, resolve_call): Replace logical statements
|
| 2856 |
|
|
with call to is_external_proc.
|
| 2857 |
|
|
|
| 2858 |
|
|
PR fortran/32689
|
| 2859 |
|
|
* simplify.c (gfc_simplify_transfer): If mold has rank, the
|
| 2860 |
|
|
result is an array.
|
| 2861 |
|
|
|
| 2862 |
|
|
PR fortran/32634
|
| 2863 |
|
|
* module.c (write_generic): Write the local name of the
|
| 2864 |
|
|
interface.
|
| 2865 |
|
|
|
| 2866 |
|
|
2007-07-09 Francois-Xavier Coudert
|
| 2867 |
|
|
|
| 2868 |
|
|
PR fortran/29459
|
| 2869 |
|
|
* trans-array.c (gfc_trans_array_constructor): Mark offset field
|
| 2870 |
|
|
with TREE_NO_WARNING.
|
| 2871 |
|
|
* trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
|
| 2872 |
|
|
stride and size variables with TREE_NO_WARNING.
|
| 2873 |
|
|
|
| 2874 |
|
|
2007-07-09 Steven G. Kargl
|
| 2875 |
|
|
|
| 2876 |
|
|
* trans-decl.c (set_tree_decl_type_code): Remove function.
|
| 2877 |
|
|
(generate_local_decl): Remove reference to set_tree_decl_type_code.
|
| 2878 |
|
|
|
| 2879 |
|
|
2007-07-09 Daniel Franke
|
| 2880 |
|
|
|
| 2881 |
|
|
PR fortran/31129
|
| 2882 |
|
|
* trans-decl.c (generate_local_decl) Emit a warning if an unused
|
| 2883 |
|
|
parameter is found.
|
| 2884 |
|
|
|
| 2885 |
|
|
2007-07-08 Daniel Franke
|
| 2886 |
|
|
|
| 2887 |
|
|
PR fortran/29876
|
| 2888 |
|
|
* module.c (gfc_match_use): Do not set an non-existant
|
| 2889 |
|
|
intrinsic operator if a user-defined operator is found.
|
| 2890 |
|
|
|
| 2891 |
|
|
2007-07-08 Daniel Franke
|
| 2892 |
|
|
|
| 2893 |
|
|
PR fortran/24784
|
| 2894 |
|
|
PR fortran/28004
|
| 2895 |
|
|
* trans-decl.c (generate_local_decl): Adjusted warning on unused
|
| 2896 |
|
|
dummy arguments, tell middle-end not to emit additional warnings.
|
| 2897 |
|
|
|
| 2898 |
|
|
2007-07-08 Daniel Franke
|
| 2899 |
|
|
Tobias Schlüter
|
| 2900 |
|
|
|
| 2901 |
|
|
PR fortran/17711
|
| 2902 |
|
|
* gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
|
| 2903 |
|
|
INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS,
|
| 2904 |
|
|
INTRINSIC_LT_OS and INTRINSIC_LE_OS.
|
| 2905 |
|
|
* arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
|
| 2906 |
|
|
* arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
|
| 2907 |
|
|
Added gfc_intrinsic_op as third argument type.
|
| 2908 |
|
|
* dump-parse-tree.c (gfc_show_expr): Account for new enum values.
|
| 2909 |
|
|
* expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
|
| 2910 |
|
|
* interface.c (check_operator_interface): Likewise.
|
| 2911 |
|
|
(gfc_check_interfaces): Added cross-checks for FORTRAN 77 and
|
| 2912 |
|
|
Fortran 90 style operators using new enum values.
|
| 2913 |
|
|
(gfc_extend_expr): Likewise.
|
| 2914 |
|
|
(gfc_add_interface): Likewise.
|
| 2915 |
|
|
* match.c (intrinsic_operators): Distinguish FORTRAN 77 style
|
| 2916 |
|
|
operators from Fortran 90 style operators using new enum values.
|
| 2917 |
|
|
* matchexp.c (match_level_4): Account for new enum values.
|
| 2918 |
|
|
* module.c (mio_expr): Likewise.
|
| 2919 |
|
|
* resolve.c (resolve_operator): Deal with new enum values, fix
|
| 2920 |
|
|
inconsistent error messages.
|
| 2921 |
|
|
* trans-expr.c (gfc_conv_expr_op): Account for new enum values.
|
| 2922 |
|
|
|
| 2923 |
|
|
2007-07-08 Tobias Burnus
|
| 2924 |
|
|
|
| 2925 |
|
|
PR fortran/32669
|
| 2926 |
|
|
* interface.c (get_expr_storage_size): Properly obtain lower bound.
|
| 2927 |
|
|
(compare_actual_formal): Add space before parenthesis.
|
| 2928 |
|
|
|
| 2929 |
|
|
2007-07-08 Daniel Franke
|
| 2930 |
|
|
|
| 2931 |
|
|
PR fortran/25094
|
| 2932 |
|
|
* resolve.c (resolve_fl_procedure): Added check for PRIVATE types
|
| 2933 |
|
|
in PUBLIC interfaces.
|
| 2934 |
|
|
|
| 2935 |
|
|
2007-07-07 Jerry DeLisle
|
| 2936 |
|
|
|
| 2937 |
|
|
PR fortran/32644
|
| 2938 |
|
|
* decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
|
| 2939 |
|
|
gfc_match_bind_c does not return MATCH_YES.
|
| 2940 |
|
|
|
| 2941 |
|
|
2007-07-07 Kazu Hirata
|
| 2942 |
|
|
|
| 2943 |
|
|
* decl.c, gfortran.h, interface.c, module.c, resolve.c,
|
| 2944 |
|
|
trans-array.c, trans-decl.c: Fix comment typos. Follow
|
| 2945 |
|
|
spelling conventions.
|
| 2946 |
|
|
* intrinsic.texi: Fix typos. Follow spelling conventions.
|
| 2947 |
|
|
|
| 2948 |
|
|
2007-05-06 Daniel Franke
|
| 2949 |
|
|
|
| 2950 |
|
|
PR fortran/32633
|
| 2951 |
|
|
* symbol.c (save_status): New.
|
| 2952 |
|
|
* gfortran.h (save_status): Added external declaration.
|
| 2953 |
|
|
(check_conflict): Check for conflicting explicite SAVE statements
|
| 2954 |
|
|
only.
|
| 2955 |
|
|
(gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
|
| 2956 |
|
|
* module.c (ab_attribute, attr_bits): Removed enumerator value
|
| 2957 |
|
|
AB_SAVE for save attribute.
|
| 2958 |
|
|
(mio_symbol_attribute): Import/export the full SAVE status,
|
| 2959 |
|
|
removed usage of AB_SAVE.
|
| 2960 |
|
|
* dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
|
| 2961 |
|
|
* decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
|
| 2962 |
|
|
already explicit.
|
| 2963 |
|
|
|
| 2964 |
|
|
2007-07-05 Daniel Franke
|
| 2965 |
|
|
Tobias Burnus
|
| 2966 |
|
|
|
| 2967 |
|
|
PR fortran/32359
|
| 2968 |
|
|
* gfortran.h (symbol_attribute): Change save attribute into an enum.
|
| 2969 |
|
|
* decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
|
| 2970 |
|
|
* symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
|
| 2971 |
|
|
* resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
|
| 2972 |
|
|
(resolve_symbol): Allow OMP threadprivate with
|
| 2973 |
|
|
initialization SAVEd and save_all variable.
|
| 2974 |
|
|
* trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
|
| 2975 |
|
|
|
| 2976 |
|
|
2007-07-05 Paul Thomas
|
| 2977 |
|
|
|
| 2978 |
|
|
PR fortran/32526
|
| 2979 |
|
|
* match.c (gfc_match_call): Check, in all cases, that a symbol
|
| 2980 |
|
|
is neither generic nor a subroutine before trying to add it as
|
| 2981 |
|
|
a subroutine.
|
| 2982 |
|
|
|
| 2983 |
|
|
PR fortran/32613
|
| 2984 |
|
|
* match.c (gfc_match_do): Reset the implied_index attribute.
|
| 2985 |
|
|
|
| 2986 |
|
|
2007-07-04 Francois-Xavier Coudert
|
| 2987 |
|
|
|
| 2988 |
|
|
PR fortran/31198
|
| 2989 |
|
|
* trans-intrinsic.c (trans-intrinsic.c): Handle optional
|
| 2990 |
|
|
arguments correctly for MIN and MAX intrinsics.
|
| 2991 |
|
|
|
| 2992 |
|
|
2007-07-03 Jerry DeLisle
|
| 2993 |
|
|
|
| 2994 |
|
|
PR fortran/32545
|
| 2995 |
|
|
* io.c (check_format): Always call gfc_error for errors.
|
| 2996 |
|
|
(check_format_string): Change type of this function to try and
|
| 2997 |
|
|
return the result of check_format.
|
| 2998 |
|
|
(check_io_constraints): Return MATCH_ERROR if check_format_string
|
| 2999 |
|
|
returns FAILURE.
|
| 3000 |
|
|
|
| 3001 |
|
|
2007-07-03 Jerry DeLisle
|
| 3002 |
|
|
|
| 3003 |
|
|
PR fortran/32612
|
| 3004 |
|
|
* decl.c (get_proc_name): Include attr->mod_proc in check for error.
|
| 3005 |
|
|
|
| 3006 |
|
|
2007-07-03 Jerry DeLisle
|
| 3007 |
|
|
|
| 3008 |
|
|
PR fortran/32432
|
| 3009 |
|
|
* gfortran.h: Change type of gfc_assign_data_value from void to try.
|
| 3010 |
|
|
* data.c (gfc_assign_data_value): Return FAILURE if error found.
|
| 3011 |
|
|
* resolve.c (check_data_variable): If gfc_assign_data_value returns
|
| 3012 |
|
|
failure, break out of loop and return failure.
|
| 3013 |
|
|
|
| 3014 |
|
|
2007-07-03 Christopher D. Rickett
|
| 3015 |
|
|
|
| 3016 |
|
|
PR fortran/32579
|
| 3017 |
|
|
* symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
|
| 3018 |
|
|
(build_formal_args): Pass intrinsic module symbol id to
|
| 3019 |
|
|
gen_cptr_param.
|
| 3020 |
|
|
|
| 3021 |
|
|
2007-07-03 Tobias Burnus
|
| 3022 |
|
|
|
| 3023 |
|
|
PR fortran/25062
|
| 3024 |
|
|
* resolve.c (resolve_common_blocks): New check function.
|
| 3025 |
|
|
(resolve_types): Use it.
|
| 3026 |
|
|
|
| 3027 |
|
|
2007-07-03 Tobias Burnus
|
| 3028 |
|
|
|
| 3029 |
|
|
PR fortran/30940
|
| 3030 |
|
|
* interface.c (get_sym_storage_size): New function.
|
| 3031 |
|
|
(get_sym_storage_size): New function.
|
| 3032 |
|
|
(compare_actual_formal): Enhance sequence association
|
| 3033 |
|
|
support and improve checking.
|
| 3034 |
|
|
|
| 3035 |
|
|
2007-07-03 Janne Blomqvist
|
| 3036 |
|
|
|
| 3037 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Mark
|
| 3038 |
|
|
internal_realloc as a malloc function.
|
| 3039 |
|
|
|
| 3040 |
|
|
2007-07-03 Tobias Burnus
|
| 3041 |
|
|
|
| 3042 |
|
|
PR fortran/20888
|
| 3043 |
|
|
* resolve.c (resolve_operator): Check for NULL as operand.
|
| 3044 |
|
|
|
| 3045 |
|
|
2007-07-02 Tobias Burnus
|
| 3046 |
|
|
|
| 3047 |
|
|
* gfortran.texi (Fortran 2003): Add ISO Bind C.
|
| 3048 |
|
|
* intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
|
| 3049 |
|
|
C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
|
| 3050 |
|
|
|
| 3051 |
|
|
2007-07-01 Christopher D. Rickett
|
| 3052 |
|
|
|
| 3053 |
|
|
* interface.c (gfc_compare_derived_types): Special case for comparing
|
| 3054 |
|
|
derived types across namespaces.
|
| 3055 |
|
|
(gfc_compare_types): Deal with BT_VOID.
|
| 3056 |
|
|
(compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
|
| 3057 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
|
| 3058 |
|
|
to SCALAR
|
| 3059 |
|
|
(gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and
|
| 3060 |
|
|
NULL_FUNPTR.
|
| 3061 |
|
|
(gfc_conv_expr): Convert expressions for ISO C Binding derived types.
|
| 3062 |
|
|
* symbol.c (gfc_set_default_type): BIND(C) variables should not be
|
| 3063 |
|
|
Implicitly declared.
|
| 3064 |
|
|
(check_conflict): Add BIND(C) and check for conflicts.
|
| 3065 |
|
|
(gfc_add_explicit_interface): Whitespace.
|
| 3066 |
|
|
(gfc_add_is_bind_c): New function.
|
| 3067 |
|
|
(gfc_copy_attr): Use it.
|
| 3068 |
|
|
(gfc_new_symbol): Initialize ISO C Binding objects.
|
| 3069 |
|
|
(get_iso_c_binding_dt): New function.
|
| 3070 |
|
|
(verify_bind_c_derived_type): Ditto.
|
| 3071 |
|
|
(gen_special_c_interop_ptr): Ditto.
|
| 3072 |
|
|
(add_formal_arg): Ditto.
|
| 3073 |
|
|
(gen_cptr_param): Ditto.
|
| 3074 |
|
|
(gen_fptr_param): Ditto.
|
| 3075 |
|
|
(gen_shape_param): Ditto.
|
| 3076 |
|
|
(add_proc_interface): Ditto.
|
| 3077 |
|
|
(build_formal_args): Ditto.
|
| 3078 |
|
|
(generate_isocbinding_symbol): Ditto.
|
| 3079 |
|
|
(get_iso_c_sym): Ditto.
|
| 3080 |
|
|
* decl.c (num_idents_on_line, has_name_equals): New variables.
|
| 3081 |
|
|
(verify_c_interop_param): New function.
|
| 3082 |
|
|
(build_sym): Finish binding labels and deal with COMMON blocks.
|
| 3083 |
|
|
(add_init_expr_to_sym): Check if the initialized expression is
|
| 3084 |
|
|
an iso_c_binding named constants
|
| 3085 |
|
|
(variable_decl): Set ISO C Binding type_spec components.
|
| 3086 |
|
|
(gfc_match_kind_spec): Check match for C interoperable kind.
|
| 3087 |
|
|
(match_char_spec): Fix comment. Chnage gfc_match_small_int
|
| 3088 |
|
|
to gfc_match_small_int_expr. Check for C interoperable kind.
|
| 3089 |
|
|
(match_type_spec): Clear the current binding label.
|
| 3090 |
|
|
(match_attr_spec): Add DECL_IS_BIND_C. If BIND(C) is found, use it
|
| 3091 |
|
|
to set attributes.
|
| 3092 |
|
|
(set_binding_label): New function.
|
| 3093 |
|
|
(set_com_block_bind_c): Ditto.
|
| 3094 |
|
|
(verify_c_interop): Ditto.
|
| 3095 |
|
|
(verify_com_block_vars_c_interop): Ditto.
|
| 3096 |
|
|
(verify_bind_c_sym): Ditto.
|
| 3097 |
|
|
(set_verify_bind_c_sym): Ditto.
|
| 3098 |
|
|
(set_verify_bind_c_com_block): Ditto.
|
| 3099 |
|
|
(get_bind_c_idents): Ditto.
|
| 3100 |
|
|
(gfc_match_bind_c_stmt): Ditto.
|
| 3101 |
|
|
(gfc_match_data_decl): Use num_idents_on_line.
|
| 3102 |
|
|
(match_result): Deal with right paren in BIND(C).
|
| 3103 |
|
|
(gfc_match_suffix): New function.
|
| 3104 |
|
|
(gfc_match_function_decl): Use it. Code is re-arranged to deal with
|
| 3105 |
|
|
ISO C Binding result clauses.
|
| 3106 |
|
|
(gfc_match_subroutine): Deal with BIND(C).
|
| 3107 |
|
|
(gfc_match_bind_c): New function.
|
| 3108 |
|
|
(gfc_get_type_attr_spec): New function. Code is re-arranged in and
|
| 3109 |
|
|
taken from gfc_match_derived_decl.
|
| 3110 |
|
|
(gfc_match_derived_decl): Add check for BIND(C).
|
| 3111 |
|
|
* trans-common.c: Forward declare gfc_get_common.
|
| 3112 |
|
|
(gfc_sym_mangled_common_id): Change arg from 'const char *name' to
|
| 3113 |
|
|
'gfc_common_head *com'. Check for ISO C Binding of the common block.
|
| 3114 |
|
|
(build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
|
| 3115 |
|
|
* gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
|
| 3116 |
|
|
(bt): Add BT_VOID
|
| 3117 |
|
|
(sym_flavor): Add FL_VOID.
|
| 3118 |
|
|
(iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
|
| 3119 |
|
|
(CInteropKind_t): New struct.
|
| 3120 |
|
|
(c_interop_kinds_table): Use it. Declare an array of structs.
|
| 3121 |
|
|
(symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
|
| 3122 |
|
|
bitfields.
|
| 3123 |
|
|
(gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
|
| 3124 |
|
|
(gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
|
| 3125 |
|
|
common_block members.
|
| 3126 |
|
|
(gfc_common_head): Add binding_label and is_bind_c members.
|
| 3127 |
|
|
(gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
|
| 3128 |
|
|
Add prototypes for get_c_kind, gfc_validate_c_kind,
|
| 3129 |
|
|
gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
|
| 3130 |
|
|
verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
|
| 3131 |
|
|
verify_bind_c_derived_type, verify_com_block_vars_c_interop,
|
| 3132 |
|
|
generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
|
| 3133 |
|
|
* iso-c-binding.def: New file. This file contains the definitions
|
| 3134 |
|
|
of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
|
| 3135 |
|
|
module.
|
| 3136 |
|
|
* trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
|
| 3137 |
|
|
or C_NULL_FUNPTR expressions.
|
| 3138 |
|
|
* expr.c (gfc_copy_expr): Add BT_VOID case. For BT_CHARACTER, the
|
| 3139 |
|
|
ISO C Binding requires a minimum string length of 1 for '\0'.
|
| 3140 |
|
|
* module.c (intmod_sym): New struct.
|
| 3141 |
|
|
(pointer_info): Add binding_label member.
|
| 3142 |
|
|
(write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
|
| 3143 |
|
|
(ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
|
| 3144 |
|
|
(attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
|
| 3145 |
|
|
(mio_symbol_attribute): Deal with ISO C Binding attributes.
|
| 3146 |
|
|
(bt_types): Add "VOID".
|
| 3147 |
|
|
(mio_typespec): Deal with ISO C Binding components.
|
| 3148 |
|
|
(mio_namespace_ref): Add intmod variable.
|
| 3149 |
|
|
(mio_symbol): Check for symbols from an intrinsic module.
|
| 3150 |
|
|
(load_commons): Check for BIND(C) common block.
|
| 3151 |
|
|
(read_module): Read binding_label and use it.
|
| 3152 |
|
|
(write_common): Add label. Write BIND(C) info.
|
| 3153 |
|
|
(write_blank_common): Blank commons are not BIND(C). Explicitly
|
| 3154 |
|
|
set is_bind_c=0.
|
| 3155 |
|
|
(write_symbol): Deal with binding_label.
|
| 3156 |
|
|
(sort_iso_c_rename_list): New function.
|
| 3157 |
|
|
(import_iso_c_binding_module): Ditto.
|
| 3158 |
|
|
(create_int_parameter): Add to args.
|
| 3159 |
|
|
(use_iso_fortran_env_module): Adjust to deal with iso_c_binding
|
| 3160 |
|
|
intrinsic module.
|
| 3161 |
|
|
* trans-types.c (c_interop_kinds_table): new array of structs.
|
| 3162 |
|
|
(gfc_validate_c_kind): New function.
|
| 3163 |
|
|
(gfc_check_any_c_kind): Ditto.
|
| 3164 |
|
|
(get_real_kind_from_node): Ditto.
|
| 3165 |
|
|
(get_int_kind_from_node): Ditto.
|
| 3166 |
|
|
(get_int_kind_from_width): Ditto.
|
| 3167 |
|
|
(get_int_kind_from_minimal_width): Ditto.
|
| 3168 |
|
|
(init_c_interop_kinds): Ditto.
|
| 3169 |
|
|
(gfc_init_kinds): call init_c_interop_kinds.
|
| 3170 |
|
|
(gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
|
| 3171 |
|
|
Adjust handling of BT_DERIVED.
|
| 3172 |
|
|
(gfc_sym_type): Whitespace.
|
| 3173 |
|
|
(gfc_get_derived_type): Account for iso_c_binding derived types
|
| 3174 |
|
|
* resolve.c (is_scalar_expr_ptr): New function.
|
| 3175 |
|
|
(gfc_iso_c_func_interface): Ditto.
|
| 3176 |
|
|
(resolve_function): Use gfc_iso_c_func_interface.
|
| 3177 |
|
|
(set_name_and_label): New function.
|
| 3178 |
|
|
(gfc_iso_c_sub_interface): Ditto.
|
| 3179 |
|
|
(resolve_specific_s0): Use gfc_iso_c_sub_interface.
|
| 3180 |
|
|
(resolve_bind_c_comms): New function.
|
| 3181 |
|
|
(resolve_bind_c_derived_types): Ditto.
|
| 3182 |
|
|
(gfc_verify_binding_labels): Ditto.
|
| 3183 |
|
|
(resolve_fl_procedure): Check for ISO C interoperability.
|
| 3184 |
|
|
(resolve_symbol): Check C interoperability.
|
| 3185 |
|
|
(resolve_types): Walk the namespace. Check COMMON blocks.
|
| 3186 |
|
|
* trans-decl.c (gfc_sym_mangled_identifier): Prevent the mangling
|
| 3187 |
|
|
of identifiers that have an assigned binding label.
|
| 3188 |
|
|
(gfc_sym_mangled_function_id): Use the binding label rather than
|
| 3189 |
|
|
the mangled name.
|
| 3190 |
|
|
(gfc_finish_var_decl): Put variables that are BIND(C) into a common
|
| 3191 |
|
|
segment of the object file, because this is what C would do.
|
| 3192 |
|
|
(gfc_create_module_variable): Conver to proper types
|
| 3193 |
|
|
(set_tree_decl_type_code): New function.
|
| 3194 |
|
|
(generate_local_decl): Check dummy variables and derived types for
|
| 3195 |
|
|
ISO C Binding attributes.
|
| 3196 |
|
|
* match.c (gfc_match_small_int_expr): New function.
|
| 3197 |
|
|
(gfc_match_name_C): Ditto.
|
| 3198 |
|
|
(match_common_name): Deal with ISO C Binding in COMMON blocks
|
| 3199 |
|
|
* trans-io.c (transfer_expr): Deal with C_NULL_PTR or C_NULL_FUNPTR
|
| 3200 |
|
|
expressions
|
| 3201 |
|
|
* match.h: Add prototypes for gfc_match_small_int_expr,
|
| 3202 |
|
|
gfc_match_name_C, match_common_name, set_com_block_bind_c,
|
| 3203 |
|
|
set_binding_label, set_verify_bind_c_sym,
|
| 3204 |
|
|
set_verify_bind_c_com_block, get_bind_c_idents,
|
| 3205 |
|
|
gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
|
| 3206 |
|
|
gfc_get_type_attr_spec
|
| 3207 |
|
|
* parse.c (decode_statement): Use gfc_match_bind_c_stmt
|
| 3208 |
|
|
(parse_derived): Init *derived_sym = NULL, and gfc_current_block
|
| 3209 |
|
|
later for valiadation.
|
| 3210 |
|
|
* primary.c (got_delim): Set ISO C Binding components of ts.
|
| 3211 |
|
|
(match_logical_constant): Ditto.
|
| 3212 |
|
|
(match_complex_constant): Ditto.
|
| 3213 |
|
|
(match_complex_constant): Ditto.
|
| 3214 |
|
|
(gfc_match_rvalue): Check for existence of at least one arg for
|
| 3215 |
|
|
C_LOC, C_FUNLOC, and C_ASSOCIATED.
|
| 3216 |
|
|
* misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
|
| 3217 |
|
|
(get_c_kind): New function.
|
| 3218 |
|
|
|
| 3219 |
|
|
2007-07-01 Janne Blomqvist
|
| 3220 |
|
|
|
| 3221 |
|
|
PR fortran/32239
|
| 3222 |
|
|
* trans-expr.c (gfc_conv_power_op): Use builtin_powi for
|
| 3223 |
|
|
real**int4 powers.
|
| 3224 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
|
| 3225 |
|
|
builtins table.
|
| 3226 |
|
|
|
| 3227 |
|
|
2007-07-01 Janne Blomqvist
|
| 3228 |
|
|
|
| 3229 |
|
|
* trans.h: Remove decls for 64-bit allocation functions.
|
| 3230 |
|
|
* trans-array.c (gfc_grow_array): Always pick the standard realloc
|
| 3231 |
|
|
function decl.
|
| 3232 |
|
|
(gfc_array_allocate): Likewise.
|
| 3233 |
|
|
* trans-decl.c: Remove trees for 64-bit allocation functions.
|
| 3234 |
|
|
(gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
|
| 3235 |
|
|
allocations functions, use index_int_type for normal allocation
|
| 3236 |
|
|
functions.
|
| 3237 |
|
|
|
| 3238 |
|
|
2007-06-30 Daniel Franke
|
| 3239 |
|
|
|
| 3240 |
|
|
PR fortran/20373
|
| 3241 |
|
|
* intrinsic.c (add_functions): Additional function types.
|
| 3242 |
|
|
(gfc_convert_type_warn): Remove intrinsic-flag from
|
| 3243 |
|
|
conversion functions.
|
| 3244 |
|
|
* resolve.c (resolve_symbol): Added type checks to
|
| 3245 |
|
|
explicitly defined intrinsics.
|
| 3246 |
|
|
|
| 3247 |
|
|
2007-06-30 Tobias Burnus
|
| 3248 |
|
|
|
| 3249 |
|
|
PR fortran/32555
|
| 3250 |
|
|
* io.c (check_format): Allow zero to precede the
|
| 3251 |
|
|
P edit descriptor.
|
| 3252 |
|
|
|
| 3253 |
|
|
2007-06-30 Paul Thomas
|
| 3254 |
|
|
|
| 3255 |
|
|
PR fortran/32472
|
| 3256 |
|
|
* simplify.c (gfc_simplify_repeat): Add handling of character
|
| 3257 |
|
|
literal for first argument.
|
| 3258 |
|
|
|
| 3259 |
|
|
2007-06-29 Daniel Franke
|
| 3260 |
|
|
|
| 3261 |
|
|
* resolve.c (resolve_operator): Added check whether a user
|
| 3262 |
|
|
defined operator is available.
|
| 3263 |
|
|
|
| 3264 |
|
|
2007-06-29 Daniel Franke
|
| 3265 |
|
|
|
| 3266 |
|
|
* openmp.c (resolve_omp_clauses): Adjust error message to
|
| 3267 |
|
|
better reflect the actual requirement.
|
| 3268 |
|
|
|
| 3269 |
|
|
2007-06-29 Tobias Burnus
|
| 3270 |
|
|
|
| 3271 |
|
|
PR fortran/32483
|
| 3272 |
|
|
* io.c (format_lex): Fix FMT_ZERO.
|
| 3273 |
|
|
(check_format,check_format_string,gfc_match_format,
|
| 3274 |
|
|
check_io_constraints) Additional checking for READ.
|
| 3275 |
|
|
|
| 3276 |
|
|
2007-06-28 Francois-Xavier Coudert
|
| 3277 |
|
|
|
| 3278 |
|
|
PR other/31400
|
| 3279 |
|
|
* lang.opt (static-libgfortran): New option.
|
| 3280 |
|
|
* gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
|
| 3281 |
|
|
(Option): Add OPTION_static and OPTION_static_libgfortran.
|
| 3282 |
|
|
(lookup_option): Handle the new -static-libgfortran option.
|
| 3283 |
|
|
(lang_specific_driver): Check whether -static is passed.
|
| 3284 |
|
|
Handle the new -static-libgfortran option.
|
| 3285 |
|
|
* options.c (gfc_handle_option): If -static-libgfortran is
|
| 3286 |
|
|
passed and isn't supported on this configuration, error out.
|
| 3287 |
|
|
|
| 3288 |
|
|
2007-06-27 Daniel Franke
|
| 3289 |
|
|
|
| 3290 |
|
|
PR fortran/32467
|
| 3291 |
|
|
* openmp.c (resolve_omp_clauses): Emit error on allocatable
|
| 3292 |
|
|
components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
|
| 3293 |
|
|
clauses.
|
| 3294 |
|
|
|
| 3295 |
|
|
2007-06-25 Paul Thomas
|
| 3296 |
|
|
|
| 3297 |
|
|
PR fortran/32464
|
| 3298 |
|
|
* resolve.c (check_host_association): Return if the old symbol
|
| 3299 |
|
|
is use associated. Introduce retval to reduce the number of
|
| 3300 |
|
|
evaluations of the first-order return value.
|
| 3301 |
|
|
|
| 3302 |
|
|
PR fortran/31494
|
| 3303 |
|
|
* match.c (gfc_match_call): If a host associated symbol is not
|
| 3304 |
|
|
a subroutine, build a new symtree/symbol in the current name
|
| 3305 |
|
|
space.
|
| 3306 |
|
|
|
| 3307 |
|
|
2007-06-24 Tobias Burnus
|
| 3308 |
|
|
|
| 3309 |
|
|
PR fortran/32460
|
| 3310 |
|
|
* interface.c (gfc_compare_derived_types): Add access check.
|
| 3311 |
|
|
* symbol.c (gfc_find_component): Ditto.
|
| 3312 |
|
|
(gfc_set_component_attr,gfc_get_component_attr) Copy access state.
|
| 3313 |
|
|
* dump-parse-tree.c (gfc_show_components): Dump access state.
|
| 3314 |
|
|
* gfortran.h (struct gfc_component): Add gfc_access.
|
| 3315 |
|
|
* module.c (mio_component): Add access state.
|
| 3316 |
|
|
* (gfc_match_structure_constructor): Check for private access state.
|
| 3317 |
|
|
|
| 3318 |
|
|
2007-06-24 Paul Thomas
|
| 3319 |
|
|
|
| 3320 |
|
|
PR fortran/32298
|
| 3321 |
|
|
PR fortran/31726
|
| 3322 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
|
| 3323 |
|
|
the offset between the loop counter and the position as
|
| 3324 |
|
|
defined. Add the offset within the loop so that the mask acts
|
| 3325 |
|
|
correctly. Do not advance the location on the basis that it
|
| 3326 |
|
|
is zero.
|
| 3327 |
|
|
|
| 3328 |
|
|
2007-06-22 Daniel Franke
|
| 3329 |
|
|
|
| 3330 |
|
|
PR fortran/31473
|
| 3331 |
|
|
* symbol.c (gfc_copy_attr): Emit errors for duplicate
|
| 3332 |
|
|
EXTERNAL/INTRINSIC statements.
|
| 3333 |
|
|
|
| 3334 |
|
|
2007-06-22 Jerry DeLisle
|
| 3335 |
|
|
|
| 3336 |
|
|
PR fortran/32360
|
| 3337 |
|
|
* expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
|
| 3338 |
|
|
check to see if the lvalue has attribute pointer and data.
|
| 3339 |
|
|
|
| 3340 |
|
|
2007-06-21 Jerry DeLisle
|
| 3341 |
|
|
|
| 3342 |
|
|
PR fortran/31162
|
| 3343 |
|
|
* resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
|
| 3344 |
|
|
gfc_notify_standard. (gfc_resolve_iterator): Remove check.
|
| 3345 |
|
|
(resolve_branch): Change "Obsolete" to "Deleted feature".
|
| 3346 |
|
|
* io.c (resolve_tag): Ditto.
|
| 3347 |
|
|
* match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
|
| 3348 |
|
|
|
| 3349 |
|
|
2007-06-20 Jerry DeLisle
|
| 3350 |
|
|
|
| 3351 |
|
|
PR fortran/32361
|
| 3352 |
|
|
* match.c (gfc_match_common): If the symbol value expression type is
|
| 3353 |
|
|
NULL_EXPR, don't error if previously initialized.
|
| 3354 |
|
|
|
| 3355 |
|
|
2007-06-20 Jerry DeLisle
|
| 3356 |
|
|
|
| 3357 |
|
|
PR fortran/25061
|
| 3358 |
|
|
* decl.c (get_proc_name) Check symbol for generic interface
|
| 3359 |
|
|
and issue an error.
|
| 3360 |
|
|
|
| 3361 |
|
|
2007-06-20 Andrew Pinski
|
| 3362 |
|
|
Richard Guenther
|
| 3363 |
|
|
|
| 3364 |
|
|
PR fortran/32140
|
| 3365 |
|
|
* trans.c (gfc_build_addr_expr): Use the correct types.
|
| 3366 |
|
|
|
| 3367 |
|
|
2007-06-19 Paul Thomas
|
| 3368 |
|
|
|
| 3369 |
|
|
PR fortran/20863
|
| 3370 |
|
|
PR fortran/20882
|
| 3371 |
|
|
* resolve.c (resolve_code): Use gfc_impure_variable as a
|
| 3372 |
|
|
condition for rejecting derived types with pointers, in pure
|
| 3373 |
|
|
procedures.
|
| 3374 |
|
|
(gfc_impure_variable): Add test for dummy arguments of pure
|
| 3375 |
|
|
procedures; any for functions and INTENT_IN for subroutines.
|
| 3376 |
|
|
|
| 3377 |
|
|
PR fortran/32236
|
| 3378 |
|
|
* data.c (gfc_assign_data_value): Change the ICE on an array
|
| 3379 |
|
|
reference initializer not being an array into an error and
|
| 3380 |
|
|
clear init to prevent a repetition of the error.
|
| 3381 |
|
|
|
| 3382 |
|
|
2007-06-17 Janne Blomqvist
|
| 3383 |
|
|
|
| 3384 |
|
|
* gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
|
| 3385 |
|
|
environment variables. Fix documentation for
|
| 3386 |
|
|
GFORTRAN_UNBUFFERED_ALL environment variable.
|
| 3387 |
|
|
|
| 3388 |
|
|
2007-06-15 Andrew Pinski
|
| 3389 |
|
|
|
| 3390 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
|
| 3391 |
|
|
POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
|
| 3392 |
|
|
* trans-expr.c (gfc_trans_string_copy): Create
|
| 3393 |
|
|
POINTER_PLUS_EXPR instead of a PLUS_EXPR
|
| 3394 |
|
|
for pointer types.
|
| 3395 |
|
|
|
| 3396 |
|
|
2007-06-14 Paul Thomas
|
| 3397 |
|
|
|
| 3398 |
|
|
PR fortran/32302
|
| 3399 |
|
|
* trans-common.c (build_common_decl): If resizing of common
|
| 3400 |
|
|
decl is needed, update the TREE_TYPE.
|
| 3401 |
|
|
|
| 3402 |
|
|
2007-06-13 Tobias Burnus
|
| 3403 |
|
|
|
| 3404 |
|
|
PR fortran/32323
|
| 3405 |
|
|
* interface.c (has_vector_section): New.
|
| 3406 |
|
|
(compare_actual_formal): Check for array sections with vector subscript.
|
| 3407 |
|
|
|
| 3408 |
|
|
2007-06-12 Dirk Mueller
|
| 3409 |
|
|
|
| 3410 |
|
|
* trans-stmt.c (gfc_trans_call): fix gcc_assert to
|
| 3411 |
|
|
a comparison, not an assignment.
|
| 3412 |
|
|
|
| 3413 |
|
|
2007-06-12 Paul Thomas
|
| 3414 |
|
|
|
| 3415 |
|
|
* trans-common.c (create_common): Initialize 'field_init'.
|
| 3416 |
|
|
|
| 3417 |
|
|
2007-06-12 Paul Thomas
|
| 3418 |
|
|
|
| 3419 |
|
|
PR fortran/29786
|
| 3420 |
|
|
PR fortran/30875
|
| 3421 |
|
|
* trans-common.c (get_init_field): New function.
|
| 3422 |
|
|
(create_common): Call get_init_field for overlapping
|
| 3423 |
|
|
initializers in equivalence blocks.
|
| 3424 |
|
|
* resolve.c (resolve_equivalence_derived, resolve_equivalence):
|
| 3425 |
|
|
Remove constraints on initializers in equivalence blocks.
|
| 3426 |
|
|
* target-memory.c (expr_to_char, gfc_merge_initializers):
|
| 3427 |
|
|
New functions.
|
| 3428 |
|
|
(encode_derived): Add the bit offset to the byte offset to get
|
| 3429 |
|
|
the total offset to the field.
|
| 3430 |
|
|
* target-memory.h : Add prototype for gfc_merge_initializers.
|
| 3431 |
|
|
|
| 3432 |
|
|
2007-06-11 Rafael Ávila de Espíndola
|
| 3433 |
|
|
|
| 3434 |
|
|
* trans-types.c (gfc_signed_type): Remove.
|
| 3435 |
|
|
* trans-types.h (gfc_signed_type): Remove.
|
| 3436 |
|
|
* f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
|
| 3437 |
|
|
|
| 3438 |
|
|
2007-06-08 Francois-Xavier Coudert
|
| 3439 |
|
|
|
| 3440 |
|
|
* trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
|
| 3441 |
|
|
|
| 3442 |
|
|
2007-06-07 Steven G. Kargl
|
| 3443 |
|
|
Jerry DeLisle
|
| 3444 |
|
|
|
| 3445 |
|
|
PR fortran/32223
|
| 3446 |
|
|
* match.c (gfc_match_special_char): New function. Match special char.
|
| 3447 |
|
|
Add handling '\0'.
|
| 3448 |
|
|
* match.h: Add prototype.
|
| 3449 |
|
|
* io.c (next_char): Use it.
|
| 3450 |
|
|
* primary.c (next_string_char): Ditto.
|
| 3451 |
|
|
|
| 3452 |
|
|
2007-06-06 Steven G. Kargl
|
| 3453 |
|
|
|
| 3454 |
|
|
* decl.c: Miscellaneous whitespace fixes.
|
| 3455 |
|
|
* expr.c: Likewise.
|
| 3456 |
|
|
* gfortran.h: Likewise.
|
| 3457 |
|
|
* interface.c : Likewise.
|
| 3458 |
|
|
* io.c: Likewise.
|
| 3459 |
|
|
* match.c: Likewise.
|
| 3460 |
|
|
* match.h: Likewise.
|
| 3461 |
|
|
* module.c: Likewise.
|
| 3462 |
|
|
* parse.c: Likewise.
|
| 3463 |
|
|
* resolve.c: Likewise.
|
| 3464 |
|
|
* symbol.c: Likewise.
|
| 3465 |
|
|
* trans-array.c: Likewise.
|
| 3466 |
|
|
* trans-common.c: Likewise.
|
| 3467 |
|
|
* trans-decl.c: Likewise.
|
| 3468 |
|
|
* trans-intrinsic.c: Likewise.
|
| 3469 |
|
|
* trans-io.c: Likewise.
|
| 3470 |
|
|
* trans-stmt.c: Likewise.
|
| 3471 |
|
|
* trans-types.c: Likewise.
|
| 3472 |
|
|
|
| 3473 |
|
|
2007-06-05 Jerry DeLisle
|
| 3474 |
|
|
|
| 3475 |
|
|
PR fortran/18923
|
| 3476 |
|
|
* parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
|
| 3477 |
|
|
for ST_FUNCTION since it is called in reject_statement.
|
| 3478 |
|
|
(parse_contained): If error, loop back after reject_statement and try
|
| 3479 |
|
|
again. Free the namespace if an error occured.
|
| 3480 |
|
|
|
| 3481 |
|
|
2007-06-04 Lee Millward
|
| 3482 |
|
|
|
| 3483 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
|
| 3484 |
|
|
to operate on a stack allocated array for the intrinsic arguments
|
| 3485 |
|
|
instead of creating a TREE_LIST. Add two new parameters for the
|
| 3486 |
|
|
array and the number of elements. Update all callers to allocate
|
| 3487 |
|
|
an array of the correct length to pass in. Update comment.
|
| 3488 |
|
|
(gfc_intrinsic_argument_list_length): New function.
|
| 3489 |
|
|
(gfc_conv_intrinsic_mnimax): Call it.
|
| 3490 |
|
|
(gfc_conv_intrinsic_merge): Likewise.
|
| 3491 |
|
|
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
|
| 3492 |
|
|
constructors.
|
| 3493 |
|
|
(gfc_conv_intrinsic_cmplx): Likewise.
|
| 3494 |
|
|
(gfc_conv_intrinsic_ctime): Likewise.
|
| 3495 |
|
|
(gfc_covn_intrinsic_fdate): Likewise.
|
| 3496 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
| 3497 |
|
|
(gfc_conv_intrinsic_ishftc): Likewise.
|
| 3498 |
|
|
(gfc_conv_intrinsic_index): Likewise.
|
| 3499 |
|
|
(gfc_conv_intrinsic_scan): Likewise.
|
| 3500 |
|
|
(gfc_conv_intrinsic_verify): Likewise.
|
| 3501 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
| 3502 |
|
|
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
|
| 3503 |
|
|
(gfc_conv_intrinsic_exponent): Likewise.
|
| 3504 |
|
|
(gfc_conv_intrinsic_bound): Likewise.
|
| 3505 |
|
|
(gfc_conv_intrinsic_abs): Likewise.
|
| 3506 |
|
|
(gfc_conv_intrinsic_mod): Likewise.
|
| 3507 |
|
|
(gfc_conv_intrinsic_sign): Likewise.
|
| 3508 |
|
|
(gfc_conv_intrinsic_len): Likewise.
|
| 3509 |
|
|
(gfc_conv_intrinsic_adjust): Likewise.
|
| 3510 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
| 3511 |
|
|
|
| 3512 |
|
|
2007-06-04 Steve Ellcey
|
| 3513 |
|
|
|
| 3514 |
|
|
* trans-array.c (gfc_conv_array_parameter): Initialize tmp.
|
| 3515 |
|
|
|
| 3516 |
|
|
2007-05-31 Richard Guenther
|
| 3517 |
|
|
|
| 3518 |
|
|
* trans-expr.c (gfc_conv_expr_op): Use zero constant
|
| 3519 |
|
|
that matches the lse type.
|
| 3520 |
|
|
(gfc_trans_string_copy): Use sizetype zero constant.
|
| 3521 |
|
|
* intrinsic.c (add_functions): The sizeof intrinsic has
|
| 3522 |
|
|
index type result.
|
| 3523 |
|
|
* trans-types.c (gfc_get_dtype): Convert size to index
|
| 3524 |
|
|
type before shifting.
|
| 3525 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): Use
|
| 3526 |
|
|
index type for offset computation.
|
| 3527 |
|
|
* trans-intrinsic.c (gfc_conv_associated): Use correct type
|
| 3528 |
|
|
for zero constant.
|
| 3529 |
|
|
|
| 3530 |
|
|
2007-05-31 Paul Thomas
|
| 3531 |
|
|
|
| 3532 |
|
|
PR fortran/32156
|
| 3533 |
|
|
* trans-array.c (gfc_trans_array_constructor): Treat the case
|
| 3534 |
|
|
where the ss expression charlen is missing.
|
| 3535 |
|
|
|
| 3536 |
|
|
2007-05-31 Paul Thomas
|
| 3537 |
|
|
|
| 3538 |
|
|
PR fortran/32103
|
| 3539 |
|
|
* module.c (mio_symtree_ref): If an equivalence group member
|
| 3540 |
|
|
is not used, give it a hidden symbol and set the pointer_info.
|
| 3541 |
|
|
(load_equiv): Only free the equivalence if none of the members
|
| 3542 |
|
|
are used.
|
| 3543 |
|
|
|
| 3544 |
|
|
2007-05-29 Daniel Franke
|
| 3545 |
|
|
|
| 3546 |
|
|
* gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
|
| 3547 |
|
|
added missing GFC_ISYM_* enumerators, ordered alphabetically.
|
| 3548 |
|
|
(struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
|
| 3549 |
|
|
(gfc_find_subroutine): New prototype.
|
| 3550 |
|
|
* intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
|
| 3551 |
|
|
(find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
|
| 3552 |
|
|
* dependency.c: Changed usage of isym->generic_id to isym->id.
|
| 3553 |
|
|
* openmp.c: Likewise.
|
| 3554 |
|
|
* resolve.c: Likewise.
|
| 3555 |
|
|
* trans-array.c: Likewise.
|
| 3556 |
|
|
* trans-expr.c: Likewise.
|
| 3557 |
|
|
* trans-intrinsic.c: Likewise.
|
| 3558 |
|
|
* trans-openmp.c: Likewise.
|
| 3559 |
|
|
|
| 3560 |
|
|
2007-05-28 Tobias Schlüter
|
| 3561 |
|
|
|
| 3562 |
|
|
* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
|
| 3563 |
|
|
* intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
|
| 3564 |
|
|
* intrinsic.h (gfc_check_sizeof): Add prototype of ...
|
| 3565 |
|
|
* check.c (gfc_check_sizeof): .. new function.
|
| 3566 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
|
| 3567 |
|
|
(gfc_conv_intrinsic_strcmp): Whitespace fix.
|
| 3568 |
|
|
(gfc_conv_intrinsic_array_transfer): Remove double initialization,
|
| 3569 |
|
|
use fold_build. where appropriate.
|
| 3570 |
|
|
(gfc_conv_intrinsic_function): Add case for SIZEOF.
|
| 3571 |
|
|
* intrinsic.texi: Add documentation for SIZEOF.
|
| 3572 |
|
|
|
| 3573 |
|
|
2007-05-28 Brooks Moses
|
| 3574 |
|
|
|
| 3575 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Edit comment.
|
| 3576 |
|
|
|
| 3577 |
|
|
2007-05-28 Brooks Moses
|
| 3578 |
|
|
|
| 3579 |
|
|
PR fortran/31972
|
| 3580 |
|
|
* target-memory.c (gfc_target_expr_size): Add handling
|
| 3581 |
|
|
for size of BT_HOLLERITH variables.
|
| 3582 |
|
|
* check.c (gfc_check_transfer): Reject BT_HOLLERITH
|
| 3583 |
|
|
variables in MOLD argument of TRANSFER.
|
| 3584 |
|
|
|
| 3585 |
|
|
2007-05-28 Brooks Moses
|
| 3586 |
|
|
|
| 3587 |
|
|
* gfortran.h (gfc_expr): Remove from_H, add "representation"
|
| 3588 |
|
|
struct.
|
| 3589 |
|
|
* primary.c (match_hollerith_constant): Store the representation
|
| 3590 |
|
|
of the Hollerith in representation, not in value.character.
|
| 3591 |
|
|
* arith.c: Add dependency on target-memory.h.
|
| 3592 |
|
|
(eval_intrinsic): Remove check for from_H.
|
| 3593 |
|
|
(hollerith2representation): New function.
|
| 3594 |
|
|
(gfc_hollerith2int): Determine value of the new constant.
|
| 3595 |
|
|
(gfc_hollerith2real): Likewise.
|
| 3596 |
|
|
(gfc_hollerith2complex): Likewise.
|
| 3597 |
|
|
(gfc_hollerith2logical): Likewise.
|
| 3598 |
|
|
(gfc_hollerith2character): Point both representation.string and
|
| 3599 |
|
|
value.character.string at the value string.
|
| 3600 |
|
|
* data.c (create_character_initializer): For BT_HOLLERITH
|
| 3601 |
|
|
rvalues, get the value from the representation rather than
|
| 3602 |
|
|
value.character.
|
| 3603 |
|
|
* expr.c (free_expr0): Update handling of BT_HOLLERITH values
|
| 3604 |
|
|
and values with representation.string.
|
| 3605 |
|
|
(gfc_copy_expr): Likewise.
|
| 3606 |
|
|
* intrinsic.c (do_simplify): Remove special treatement of
|
| 3607 |
|
|
variables resulting from Hollerith constants.
|
| 3608 |
|
|
* dump-parse-trees.c (gfc_show_expr): Update handling of
|
| 3609 |
|
|
Holleriths.
|
| 3610 |
|
|
* trans-const.c (gfc_conv_constant_to_tree): Replace from_H
|
| 3611 |
|
|
check with check for representation.string; get Hollerith
|
| 3612 |
|
|
representation from representation.string, not value.character.
|
| 3613 |
|
|
* trans-expr.c (is_zero_initializer_p): Replace from_H check
|
| 3614 |
|
|
with check for representation.string.
|
| 3615 |
|
|
* trans-stmt.c (gfc_trans_integer_select): Use
|
| 3616 |
|
|
gfc_conv_mpz_to_tree for case values, so as to avoid picking up
|
| 3617 |
|
|
the memory representation if the case is given by a transfer
|
| 3618 |
|
|
expression.
|
| 3619 |
|
|
* target-memory.c (gfc_target_encode_expr): Use the known memory
|
| 3620 |
|
|
representation rather than the value, if it exists.
|
| 3621 |
|
|
(gfc_target_interpret_expr): Store the memory representation of
|
| 3622 |
|
|
the interpreted expression as well as its value.
|
| 3623 |
|
|
(interpret_integer): Move to gfc_interpret_integer, make
|
| 3624 |
|
|
non-static.
|
| 3625 |
|
|
(interpret_float): Move to gfc_interpret_float, make non-static.
|
| 3626 |
|
|
(interpret_complex): Move to gfc_interpret_complex, make
|
| 3627 |
|
|
non-static.
|
| 3628 |
|
|
(interpret_logical): Move to gfc_interpret_logical, make
|
| 3629 |
|
|
non-static.
|
| 3630 |
|
|
(interpret_character): Move to gfc_interpret_character, make
|
| 3631 |
|
|
non-static.
|
| 3632 |
|
|
(interpret_derived): Move to gfc_interpret_derived, make
|
| 3633 |
|
|
non-static.
|
| 3634 |
|
|
* target-memory.h: Add prototypes for newly-exported
|
| 3635 |
|
|
gfc_interpret_* functions.
|
| 3636 |
|
|
|
| 3637 |
|
|
2007-05-27 Jerry DeLisle
|
| 3638 |
|
|
|
| 3639 |
|
|
PR fortran/31812
|
| 3640 |
|
|
* parse.c (next_statement): Warn for truncated lines if source is free
|
| 3641 |
|
|
form.
|
| 3642 |
|
|
|
| 3643 |
|
|
2007-05-27 Paul Thomas
|
| 3644 |
|
|
Tobias Burnus
|
| 3645 |
|
|
|
| 3646 |
|
|
PR fortran/32088
|
| 3647 |
|
|
* symbol.c (gfc_check_function_type): Copy dimensions of
|
| 3648 |
|
|
result variable.
|
| 3649 |
|
|
* resolve.c (resolve_contained_fntype): Improve symbol output in
|
| 3650 |
|
|
the error message.
|
| 3651 |
|
|
|
| 3652 |
|
|
2007-05-26 Jerry DeLisle
|
| 3653 |
|
|
|
| 3654 |
|
|
PR fortran/31813
|
| 3655 |
|
|
* io.c (check_format): Add warning for H specifier in format.
|
| 3656 |
|
|
|
| 3657 |
|
|
2007-05-26 Tobias Burnus
|
| 3658 |
|
|
|
| 3659 |
|
|
* gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
|
| 3660 |
|
|
GFORTRAN_ERROR_BACKTRACE environment variables.
|
| 3661 |
|
|
|
| 3662 |
|
|
2007-05-26 Paul Thomas
|
| 3663 |
|
|
|
| 3664 |
|
|
PR fortran/31219
|
| 3665 |
|
|
* trans.h : Add no_function_call bitfield to gfc_se structure.
|
| 3666 |
|
|
Add stmtblock_t argument to prototype of get_array_ctor_strlen.
|
| 3667 |
|
|
* trans-array.c (get_array_ctor_all_strlen): New function.
|
| 3668 |
|
|
(get_array_ctor_strlen): Add new stmtblock_t argument and call
|
| 3669 |
|
|
new function for character elements that are not constants,
|
| 3670 |
|
|
arrays or variables.
|
| 3671 |
|
|
(gfc_conv_array_parameter): Call get_array_ctor_strlen to get
|
| 3672 |
|
|
good string length.
|
| 3673 |
|
|
* trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
|
| 3674 |
|
|
to call of get_array_ctor_strlen.
|
| 3675 |
|
|
|
| 3676 |
|
|
2007-05-25 Kazu Hirata
|
| 3677 |
|
|
|
| 3678 |
|
|
* intrinsic.texi: Fix typos.
|
| 3679 |
|
|
|
| 3680 |
|
|
2007-05-25 Paul Thomas
|
| 3681 |
|
|
|
| 3682 |
|
|
PR fortran/32047
|
| 3683 |
|
|
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
|
| 3684 |
|
|
order in logic under EXPR_FUNCTION to handle functions with
|
| 3685 |
|
|
no arguments.
|
| 3686 |
|
|
|
| 3687 |
|
|
2007-05-23 Jerry DeLisle
|
| 3688 |
|
|
|
| 3689 |
|
|
PR fortran/31716
|
| 3690 |
|
|
* array.c (spec_dimen_size): Test for correct BT_INTEGER type.
|
| 3691 |
|
|
|
| 3692 |
|
|
2007-05-23 Francois-Xavier Coudert
|
| 3693 |
|
|
|
| 3694 |
|
|
PR fortran/32046
|
| 3695 |
|
|
* trans-expr.c (gfc_trans_zero_assign): Convert the result of
|
| 3696 |
|
|
TYPE_SIZE_UNIT into a signed type.
|
| 3697 |
|
|
(gfc_trans_array_copy): Likewise.
|
| 3698 |
|
|
(gfc_trans_array_constructor_copy): Likewise.
|
| 3699 |
|
|
* trans-array.c (gfc_trans_create_temp_array): Likewise.
|
| 3700 |
|
|
(gfc_grow_array): Likewise.
|
| 3701 |
|
|
(gfc_array_init_size): Likewise.
|
| 3702 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
| 3703 |
|
|
* trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
|
| 3704 |
|
|
|
| 3705 |
|
|
2007-05-22 Jerry DeLisle
|
| 3706 |
|
|
|
| 3707 |
|
|
PR fortran/18923
|
| 3708 |
|
|
* resolve.c (resolve_function): Don't call resolve_global_procedure if
|
| 3709 |
|
|
there is no name. Delete duplicated statement in ELSE clause.
|
| 3710 |
|
|
|
| 3711 |
|
|
2007-05-22 Francois-Xavier Coudert
|
| 3712 |
|
|
|
| 3713 |
|
|
PR fortran/31627
|
| 3714 |
|
|
* trans-array.c (gfc_trans_array_bound_check): Take extra argument to
|
| 3715 |
|
|
indicate whether we should check the upper bound in that dimension.
|
| 3716 |
|
|
(gfc_conv_array_index_offset): Check only the lower bound of the
|
| 3717 |
|
|
last dimension for assumed-size arrays.
|
| 3718 |
|
|
(gfc_conv_array_ref): Likewise.
|
| 3719 |
|
|
(gfc_conv_ss_startstride): Likewise.
|
| 3720 |
|
|
|
| 3721 |
|
|
2007-05-21 Jerry DeLisle
|
| 3722 |
|
|
Daniel Franke
|
| 3723 |
|
|
|
| 3724 |
|
|
PR fortran/32002
|
| 3725 |
|
|
* resolve.c (resolve_actual_arglist): Resolve actual argument after
|
| 3726 |
|
|
being identified as variable.
|
| 3727 |
|
|
|
| 3728 |
|
|
2007-05-21 Francois-Xavier Coudert
|
| 3729 |
|
|
|
| 3730 |
|
|
PR fortran/32027
|
| 3731 |
|
|
* trans-stmt.c (gfc_trans_do): Fix the value of loop variable
|
| 3732 |
|
|
when the loop ends.
|
| 3733 |
|
|
|
| 3734 |
|
|
2007-05-21 H.J. Lu
|
| 3735 |
|
|
|
| 3736 |
|
|
* trans-stmt.c (gfc_trans_do): Fix a typo in comment.
|
| 3737 |
|
|
|
| 3738 |
|
|
2007-05-21 Paul Thomas
|
| 3739 |
|
|
|
| 3740 |
|
|
PR fortran/31867
|
| 3741 |
|
|
PR fortran/31994
|
| 3742 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
|
| 3743 |
|
|
offset for non-descriptor, source arrays and correct for stride
|
| 3744 |
|
|
not equal to one before writing to field of output descriptor.
|
| 3745 |
|
|
|
| 3746 |
|
|
2007-05-20 Daniel Franke
|
| 3747 |
|
|
|
| 3748 |
|
|
PR fortran/32001
|
| 3749 |
|
|
* check.c (check_rest): Improved argument conformance check and
|
| 3750 |
|
|
fixed error message generation.
|
| 3751 |
|
|
|
| 3752 |
|
|
2007-05-19 Francois-Xavier Coudert
|
| 3753 |
|
|
|
| 3754 |
|
|
PR fortran/30820
|
| 3755 |
|
|
* Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
|
| 3756 |
|
|
simplify.o and trans-common.o.
|
| 3757 |
|
|
|
| 3758 |
|
|
2007-05-19 Francois-Xavier Coudert
|
| 3759 |
|
|
|
| 3760 |
|
|
PR fortran/31974
|
| 3761 |
|
|
* trans-array.c (gfc_trans_auto_array_allocation): Avoid
|
| 3762 |
|
|
multiplication of mismatched types.
|
| 3763 |
|
|
|
| 3764 |
|
|
2007-05-18 Daniel Franke
|
| 3765 |
|
|
|
| 3766 |
|
|
PR fortran/24633
|
| 3767 |
|
|
* symbol.c (gfc_add_flavor): Add the NAME to error message if
|
| 3768 |
|
|
available.
|
| 3769 |
|
|
|
| 3770 |
|
|
2007-05-15 Daniel Franke
|
| 3771 |
|
|
|
| 3772 |
|
|
PR fortran/31919
|
| 3773 |
|
|
PR fortran/31929
|
| 3774 |
|
|
PR fortran/31930
|
| 3775 |
|
|
* intrinsic.c (check_specific): Check elemental intrinsics for
|
| 3776 |
|
|
rank and shape.
|
| 3777 |
|
|
(add_functions): Fixed dummy argument names of BESJN and BESYN.
|
| 3778 |
|
|
Fixed elemental status of MCLOCK and MCLOCK8.
|
| 3779 |
|
|
* check.c (check_rest): Added check for array conformance.
|
| 3780 |
|
|
(gfc_check_merge): Removed check for array conformance.
|
| 3781 |
|
|
(gfc_check_besn): Removed check for scalarity.
|
| 3782 |
|
|
* intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
|
| 3783 |
|
|
(BESJN, BESYN): Clarified documentation.
|
| 3784 |
|
|
|
| 3785 |
|
|
2007-05-17 Tobias Burnus
|
| 3786 |
|
|
|
| 3787 |
|
|
* gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
|
| 3788 |
|
|
|
| 3789 |
|
|
2007-05-16 Brooks Moses
|
| 3790 |
|
|
|
| 3791 |
|
|
PR fortran/18769
|
| 3792 |
|
|
PR fortran/30881
|
| 3793 |
|
|
PR fortran/31194
|
| 3794 |
|
|
PR fortran/31216
|
| 3795 |
|
|
PR fortran/31427
|
| 3796 |
|
|
* target-memory.c: New file.
|
| 3797 |
|
|
* target-memory.h: New file.
|
| 3798 |
|
|
* simplify.c: Add #include "target-memory.h".
|
| 3799 |
|
|
(gfc_simplify_transfer): Implement constant-
|
| 3800 |
|
|
folding for TRANSFER intrinsic.
|
| 3801 |
|
|
* Make-lang.in: Add dependencies on new target-memory.* files.
|
| 3802 |
|
|
|
| 3803 |
|
|
2007-05-15 Paul Brook
|
| 3804 |
|
|
|
| 3805 |
|
|
* trans-types.c (gfc_type_for_size): Handle signed TImode.
|
| 3806 |
|
|
|
| 3807 |
|
|
2007-05-14 Francois-Xavier Coudert
|
| 3808 |
|
|
|
| 3809 |
|
|
PR fortran/30723
|
| 3810 |
|
|
* trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
|
| 3811 |
|
|
gfor_fndecl_internal_free): Remove prototypes.
|
| 3812 |
|
|
(gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
|
| 3813 |
|
|
* trans.c (gfc_call_malloc, gfc_call_free): New functions.
|
| 3814 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
|
| 3815 |
|
|
and __builtin_malloc builtins.
|
| 3816 |
|
|
* trans-decl.c (gfor_fndecl_internal_malloc,
|
| 3817 |
|
|
gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
|
| 3818 |
|
|
(gfor_fndecl_os_error): Add.
|
| 3819 |
|
|
(gfc_build_builtin_function_decls): Don't create internal_malloc,
|
| 3820 |
|
|
internal_malloc64 and internal_free library function declaration.
|
| 3821 |
|
|
Create os_error library call function declaration.
|
| 3822 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage,
|
| 3823 |
|
|
gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
|
| 3824 |
|
|
gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
|
| 3825 |
|
|
gfc_call_malloc and gfc_call_free instead of building calls to
|
| 3826 |
|
|
internal_malloc and internal_free.
|
| 3827 |
|
|
* trans-expr.c (gfc_conv_string_tmp): Likewise.
|
| 3828 |
|
|
* trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
|
| 3829 |
|
|
gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
|
| 3830 |
|
|
gfc_trans_where_2: Likewise.
|
| 3831 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ctime,
|
| 3832 |
|
|
gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
|
| 3833 |
|
|
gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
|
| 3834 |
|
|
|
| 3835 |
|
|
2007-05-14 Francois-Xavier Coudert
|
| 3836 |
|
|
|
| 3837 |
|
|
PR fortran/31725
|
| 3838 |
|
|
* trans-expr.c (gfc_conv_substring): Evaluate substring bounds
|
| 3839 |
|
|
only once.
|
| 3840 |
|
|
|
| 3841 |
|
|
2007-05-14 Rafael Ávila de Espíndola
|
| 3842 |
|
|
|
| 3843 |
|
|
* f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
|
| 3844 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
|
| 3845 |
|
|
instead of gfc_unsigned_type.
|
| 3846 |
|
|
* trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
|
| 3847 |
|
|
gfc_unsigned_type.
|
| 3848 |
|
|
* trans-types.c (gfc_unsigned_type): Remove.
|
| 3849 |
|
|
* trans-types.h (gfc_unsigned_type): Remove.
|
| 3850 |
|
|
|
| 3851 |
|
|
2007-05-12 Paul Thomas
|
| 3852 |
|
|
|
| 3853 |
|
|
PR fortran/30746
|
| 3854 |
|
|
* resolve.c (check_host_association): New function that detects
|
| 3855 |
|
|
incorrect host association and corrects it.
|
| 3856 |
|
|
(gfc_resolve_expr): Call the new function for variables and
|
| 3857 |
|
|
functions.
|
| 3858 |
|
|
* match.h : Remove prototype for gfc_match_rvalue.
|
| 3859 |
|
|
* gfortran.h : Add prototype for gfc_match_rvalue.
|
| 3860 |
|
|
|
| 3861 |
|
|
2007-05-11 Paul Thomas
|
| 3862 |
|
|
|
| 3863 |
|
|
PR fortran/30876
|
| 3864 |
|
|
* trans-expr.c (gfc_conv_function_call): Reduce indirection for
|
| 3865 |
|
|
direct assignments of recursive array valued functions.
|
| 3866 |
|
|
* primary.c (gfc_match_rvalue): Correct error for recursive
|
| 3867 |
|
|
function calls such that directly recursive calls of scalar
|
| 3868 |
|
|
function without an explicit result are disallowed.
|
| 3869 |
|
|
|
| 3870 |
|
|
2007-05-11 Paul Thomas
|
| 3871 |
|
|
|
| 3872 |
|
|
PR fortran/30878
|
| 3873 |
|
|
* resolve.c (resolve_fl_namelist): It is not an error if the
|
| 3874 |
|
|
namelist element is the result variable of the enclosing
|
| 3875 |
|
|
function. Search for the symbol in current and all parent
|
| 3876 |
|
|
namespaces for a potential conflict.
|
| 3877 |
|
|
* symbol.c (check_conflict): Remove the conflict between
|
| 3878 |
|
|
'in_namelist' and 'FL_PROCEDURE' because the symbol info
|
| 3879 |
|
|
is not available to exclude function result variables.
|
| 3880 |
|
|
* trans-io.c (nml_get_addr_expr): Use the fake result decl
|
| 3881 |
|
|
if the symbol is an implicit result variable.
|
| 3882 |
|
|
|
| 3883 |
|
|
2007-05-11 Paul Thomas
|
| 3884 |
|
|
|
| 3885 |
|
|
PR fortran/31474
|
| 3886 |
|
|
* decl.c (get_proc_name): If an entry has already been declared
|
| 3887 |
|
|
as a module procedure, pick up the symbol and the symtree and
|
| 3888 |
|
|
use them for the entry.
|
| 3889 |
|
|
|
| 3890 |
|
|
2007-05-08 Paul Thomas
|
| 3891 |
|
|
|
| 3892 |
|
|
PR fortran/31630
|
| 3893 |
|
|
* resolve.c (resolve_symbol): Remove the flagging mechanism from the
|
| 3894 |
|
|
formal namespace resolution and instead check that the formal
|
| 3895 |
|
|
namespace is not the current namespace.
|
| 3896 |
|
|
|
| 3897 |
|
|
2007-05-08 Paul Thomas
|
| 3898 |
|
|
|
| 3899 |
|
|
PR fortran/31692
|
| 3900 |
|
|
* trans-array.c (gfc_conv_array_parameter): Convert full array
|
| 3901 |
|
|
references to the result of the procedure enclusing the call.
|
| 3902 |
|
|
|
| 3903 |
|
|
2007-05-08 Paul Thomas
|
| 3904 |
|
|
|
| 3905 |
|
|
PR fortran/29397
|
| 3906 |
|
|
PR fortran/29400
|
| 3907 |
|
|
* decl.c (add_init_expr_to_sym): Expand a scalar initializer
|
| 3908 |
|
|
for a parameter array into an array expression with the right
|
| 3909 |
|
|
shape.
|
| 3910 |
|
|
* array.c (spec_dimen_size): Remove static attribute.
|
| 3911 |
|
|
* gfortran.h : Prototype for spec_dimen_size.
|
| 3912 |
|
|
|
| 3913 |
|
|
2007-05-07 Francois-Xavier Coudert
|
| 3914 |
|
|
|
| 3915 |
|
|
PR fortran/31399
|
| 3916 |
|
|
* trans-stmt.c (gfc_trans_do): Handle large loop counts.
|
| 3917 |
|
|
|
| 3918 |
|
|
2007-05-07 Francois-Xavier Coudert
|
| 3919 |
|
|
|
| 3920 |
|
|
PR fortran/31764
|
| 3921 |
|
|
* simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
|
| 3922 |
|
|
even for non constant arguments.
|
| 3923 |
|
|
|
| 3924 |
|
|
2007-05-06 Jerry DeLisle
|
| 3925 |
|
|
Francois-Xavier Coudert
|
| 3926 |
|
|
|
| 3927 |
|
|
PR fortran/31201
|
| 3928 |
|
|
* gfortran.h: Add runtime error codes from libgfortran.h. Define
|
| 3929 |
|
|
MAX_UNIT_NUMBER.
|
| 3930 |
|
|
* trans.c (gfc_trans_runtime_check): Update the format of runtime error
|
| 3931 |
|
|
messages to match library runtime errors. Use call to new library
|
| 3932 |
|
|
function runtime_error_at().
|
| 3933 |
|
|
* trans.h: Add prototype for new function gfc_trans_io_runtime_check.
|
| 3934 |
|
|
Add declaration for library functions runtime_error_at and
|
| 3935 |
|
|
generate_error.
|
| 3936 |
|
|
* trans_io.c (gfc_trans_io_runtime_check): New function.
|
| 3937 |
|
|
(set_parameter_value): Add error checking for UNIT numbers.
|
| 3938 |
|
|
(set_parameter_ref): Initialize the users variable to zero.
|
| 3939 |
|
|
(gfc_trans_open): Move setting of unit number to after setting of common
|
| 3940 |
|
|
flags so that runtime error trapping can be detected.
|
| 3941 |
|
|
(gfc_trans_close): Likewise. (build_filepos): Likewise.
|
| 3942 |
|
|
(gfc_trans_inquire): Likewise. (build_dt): Likewise.
|
| 3943 |
|
|
* trans-decl.c: Add declarations for runtime_error_at and
|
| 3944 |
|
|
generate_error. (gfc_build_builtin_function_decls): Build function
|
| 3945 |
|
|
declarations for runtime_error_at and generate_error.
|
| 3946 |
|
|
|
| 3947 |
|
|
2007-05-06 Paul Thomas
|
| 3948 |
|
|
|
| 3949 |
|
|
PR fortran/31540
|
| 3950 |
|
|
* resolve.c (resolve_fl_procedure): Resolve constant character
|
| 3951 |
|
|
lengths.
|
| 3952 |
|
|
|
| 3953 |
|
|
2007-05-05 Jerry DeLisle
|
| 3954 |
|
|
|
| 3955 |
|
|
PR fortran/31251
|
| 3956 |
|
|
* decl.c (match_char_spec): Add check for invalid character lengths.
|
| 3957 |
|
|
|
| 3958 |
|
|
2007-05-04 Brooks Moses
|
| 3959 |
|
|
|
| 3960 |
|
|
* intrinsic.texi (CMPLX): Document result kind.
|
| 3961 |
|
|
(COMPLEX): Add documentation.
|
| 3962 |
|
|
|
| 3963 |
|
|
2007-05-04 Daniel Franke
|
| 3964 |
|
|
|
| 3965 |
|
|
PR fortran/31760
|
| 3966 |
|
|
* intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
|
| 3967 |
|
|
by gfc_check_fn_r to avoid checks for scalarity.
|
| 3968 |
|
|
* check.c (gfc_check_besn): Removed check for scalarity.
|
| 3969 |
|
|
(gfc_check_g77_math1): Removed.
|
| 3970 |
|
|
* intrinsic.h (gfc_check_g77_math1): Removed.
|
| 3971 |
|
|
|
| 3972 |
|
|
2007-05-04 Daniel Franke
|
| 3973 |
|
|
|
| 3974 |
|
|
* check.c (gfc_check_fseek_sub): Fixed typo.
|
| 3975 |
|
|
|
| 3976 |
|
|
2007-05-04 Daniel Franke
|
| 3977 |
|
|
|
| 3978 |
|
|
PR fortran/22359
|
| 3979 |
|
|
* intrinsic.c (add_subroutines): Added FSEEK.
|
| 3980 |
|
|
* intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
|
| 3981 |
|
|
* iresolve.c (gfc_resolve_fseek_sub): New.
|
| 3982 |
|
|
* check.c (gfc_check_fseek_sub): New.
|
| 3983 |
|
|
* intrinsic.texi (FSEEK): Updated.
|
| 3984 |
|
|
|
| 3985 |
|
|
2007-05-04 Tobias Burnus
|
| 3986 |
|
|
|
| 3987 |
|
|
PR fortran/31803
|
| 3988 |
|
|
* expr.c (gfc_check_pointer_assign): Check for NULL pointer.
|
| 3989 |
|
|
|
| 3990 |
|
|
2007-05-04 Jerry DeLisle
|
| 3991 |
|
|
|
| 3992 |
|
|
PR fortran/31251
|
| 3993 |
|
|
* simplify.c (gfc_simplify_len): Only simplify integer lengths.
|
| 3994 |
|
|
|
| 3995 |
|
|
2007-05-04 Francois-Xavier Coudert
|
| 3996 |
|
|
|
| 3997 |
|
|
PR fortran/31781
|
| 3998 |
|
|
* simplify.c (gfc_simplify_repeat): Don't put function call with
|
| 3999 |
|
|
side effect in a gcc_assert().
|
| 4000 |
|
|
|
| 4001 |
|
|
2007-05-04 Tobias Burnus
|
| 4002 |
|
|
|
| 4003 |
|
|
PR fortran/25071
|
| 4004 |
|
|
* interface.c (compare_actual_formal): Check character length.
|
| 4005 |
|
|
|
| 4006 |
|
|
2007-05-01 Thomas Koenig
|
| 4007 |
|
|
|
| 4008 |
|
|
PR fortran/31732
|
| 4009 |
|
|
* dependency.c (gfc_full_array_ref_p): If the reference is
|
| 4010 |
|
|
to a single element, check that the array has a single
|
| 4011 |
|
|
element and that the correct element is referenced.
|
| 4012 |
|
|
|
| 4013 |
|
|
2007-05-01 Daniel Franke
|
| 4014 |
|
|
|
| 4015 |
|
|
* intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
|
| 4016 |
|
|
(add_subroutines): Replaced magic numbers in function calls by
|
| 4017 |
|
|
ELEMENTAL and NOT_ELEMENTAL respectively.
|
| 4018 |
|
|
* intrinsic.texi (MVBITS): Changed class to elemental subroutine.
|
| 4019 |
|
|
(RANDOM_NUMBER): Changed class to subroutine.
|
| 4020 |
|
|
(HUGE, TINY): Changed class to inquiry function.
|
| 4021 |
|
|
|
| 4022 |
|
|
2007-04-30 Brooks Moses
|
| 4023 |
|
|
|
| 4024 |
|
|
* trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
|
| 4025 |
|
|
(gfc_conv_tree_to_mpz): New function.
|
| 4026 |
|
|
(gfc_conv_mpfr_to_tree): Use real_from_mpfr.
|
| 4027 |
|
|
(gfc_conv_tree_to_mpfr): New function.
|
| 4028 |
|
|
* trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
|
| 4029 |
|
|
(gfc_conv_tree_to_mpfr): New prototype.
|
| 4030 |
|
|
|
| 4031 |
|
|
2007-04-30 Daniel Franke
|
| 4032 |
|
|
|
| 4033 |
|
|
* intrinsic.texi (IERRNO): Changed class to non-elemental function.
|
| 4034 |
|
|
(LOG10): Removed COMPLEX as accepted argument type.
|
| 4035 |
|
|
(NEW_LINE): Changed class from elemental to inquiry function.
|
| 4036 |
|
|
(SIGN): Removed requirement of scalar arguments.
|
| 4037 |
|
|
(SNGL): Changed class to elemental function.
|
| 4038 |
|
|
|
| 4039 |
|
|
2007-04-29 Francois-Xavier Coudert
|
| 4040 |
|
|
|
| 4041 |
|
|
PR fortran/31591
|
| 4042 |
|
|
* simplify.c (simplify_bound_dim): New function.
|
| 4043 |
|
|
(simplify_bound): Use the above. Perform simplification of LBOUND
|
| 4044 |
|
|
and UBOUND when DIM argument is not present.
|
| 4045 |
|
|
|
| 4046 |
|
|
2007-04-29 Daniel Franke
|
| 4047 |
|
|
|
| 4048 |
|
|
* gfortran.texi: Cleaned up keyword index.
|
| 4049 |
|
|
* invoke.texi: Likewise.
|
| 4050 |
|
|
* intrinsic.texi: Likewise.
|
| 4051 |
|
|
|
| 4052 |
|
|
2007-04-29 Francois-Xavier Coudert
|
| 4053 |
|
|
|
| 4054 |
|
|
PR fortran/31645
|
| 4055 |
|
|
* scanner.c (load_file): Discard the byte order mark if one is
|
| 4056 |
|
|
found on the first non-preprocessor line of a file.
|
| 4057 |
|
|
|
| 4058 |
|
|
2007-04-29 Paul Thomas
|
| 4059 |
|
|
|
| 4060 |
|
|
PR fortran/31711
|
| 4061 |
|
|
* trans-array.c (gfc_conv_resolve_dependencies): Create a temp
|
| 4062 |
|
|
whenever a dependency is found.
|
| 4063 |
|
|
|
| 4064 |
|
|
2007-04-28 Tobias Schlüter
|
| 4065 |
|
|
|
| 4066 |
|
|
* options.c (gfc_handle_option): Ensure requested free form line
|
| 4067 |
|
|
length is not too small.
|
| 4068 |
|
|
|
| 4069 |
|
|
2007-04-27 Brooks Moses
|
| 4070 |
|
|
|
| 4071 |
|
|
* intrinsic.texi (Transfer): Improve documentation.
|
| 4072 |
|
|
|
| 4073 |
|
|
2007-04-27 Brooks Moses
|
| 4074 |
|
|
|
| 4075 |
|
|
* gfortran.texi (Option Index): Add @samp as needed.
|
| 4076 |
|
|
|
| 4077 |
|
|
2007-04-27 Daniel Franke
|
| 4078 |
|
|
|
| 4079 |
|
|
* gfortran.texi: Added node and menu entry for an option index.
|
| 4080 |
|
|
* invoke.texi: Moved command line option related entries of the concept
|
| 4081 |
|
|
index to the option index.
|
| 4082 |
|
|
|
| 4083 |
|
|
2007-04-27 Daniel Franke
|
| 4084 |
|
|
|
| 4085 |
|
|
* intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
|
| 4086 |
|
|
XOR): Fixed examples.
|
| 4087 |
|
|
|
| 4088 |
|
|
2007-04-27 Daniel Franke
|
| 4089 |
|
|
|
| 4090 |
|
|
* intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM,
|
| 4091 |
|
|
SYSTEM_CLOCK, TRANSFER, UNPACK): New.
|
| 4092 |
|
|
(DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
|
| 4093 |
|
|
|
| 4094 |
|
|
2007-04-26 Daniel Franke
|
| 4095 |
|
|
|
| 4096 |
|
|
* intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE,
|
| 4097 |
|
|
SIZE, TRANSPOSE, TRIM, VERIFY): New.
|
| 4098 |
|
|
(ADJUSTL, ADJUSTR, INDEX): Added cross references.
|
| 4099 |
|
|
(INT, INT2, INT8, LONG): Enabled section header.
|
| 4100 |
|
|
|
| 4101 |
|
|
2007-04-25 Janne Blomqvist
|
| 4102 |
|
|
|
| 4103 |
|
|
* module.c (module_char): Replace fgetc() with
|
| 4104 |
|
|
getc().
|
| 4105 |
|
|
(write_char): Replace fputc() with putc().
|
| 4106 |
|
|
* scanner.c (load_line): Replace fgetc() with getc().
|
| 4107 |
|
|
(gfc_read_orig_filename): Likewise.
|
| 4108 |
|
|
|
| 4109 |
|
|
2007-04-25 Tobias Burnus
|
| 4110 |
|
|
|
| 4111 |
|
|
PR fortran/31668
|
| 4112 |
|
|
* error.c (error_print): Fix %% support.
|
| 4113 |
|
|
* intrinsic.c (sort_actual): Improve error message.
|
| 4114 |
|
|
* resolve.c (resolve_actual_arglist): Allow %VAL for
|
| 4115 |
|
|
interfaces defined in the module declaration part.
|
| 4116 |
|
|
|
| 4117 |
|
|
2007-04-25 Francois-Xavier Coudert
|
| 4118 |
|
|
|
| 4119 |
|
|
PR libfortran/31299
|
| 4120 |
|
|
* intrinsic.texi (GETLOG): Update documentation to reflect
|
| 4121 |
|
|
library changes.
|
| 4122 |
|
|
|
| 4123 |
|
|
2007-04-24 Francois-Xavier Coudert
|
| 4124 |
|
|
|
| 4125 |
|
|
PR fortran/31587
|
| 4126 |
|
|
* module.c (write_char): Add character to the MD5 buffer.
|
| 4127 |
|
|
(read_md5_from_module_file): New function.
|
| 4128 |
|
|
(gfc_dump_module): Compute MD5 for new module file. Call
|
| 4129 |
|
|
read_md5_from_module_file. Only overwrite old module file
|
| 4130 |
|
|
if the new MD5 is different.
|
| 4131 |
|
|
|
| 4132 |
|
|
2007-04-23 Paul Thomas
|
| 4133 |
|
|
|
| 4134 |
|
|
PR fortran/31630
|
| 4135 |
|
|
* resolve.c (resolve_symbol): Allow resolution of formal
|
| 4136 |
|
|
namespaces nested within formal namespaces coming from modules.
|
| 4137 |
|
|
|
| 4138 |
|
|
PR fortran/31620
|
| 4139 |
|
|
* trans-expr.c (gfc_trans_assignment): Make the call to
|
| 4140 |
|
|
gfc_trans_zero_assign conditional on the lhs array ref being
|
| 4141 |
|
|
the only reference.
|
| 4142 |
|
|
|
| 4143 |
|
|
2007-04-23 Tobias Burnus
|
| 4144 |
|
|
|
| 4145 |
|
|
* primary.c (match_integer_constant): Mention -fno-range-check
|
| 4146 |
|
|
in the error message.
|
| 4147 |
|
|
|
| 4148 |
|
|
2007-04-21 Jerry DeLisle
|
| 4149 |
|
|
|
| 4150 |
|
|
PR fortran/31495
|
| 4151 |
|
|
* scanner.c (load_line): Remove check for comment after ampersand and
|
| 4152 |
|
|
adjust tracking of ampersand.
|
| 4153 |
|
|
|
| 4154 |
|
|
2007-04-21 Andrew Pinski
|
| 4155 |
|
|
|
| 4156 |
|
|
* f95-lang.c (lang_tree_node): Use GENERIC_NEXT
|
| 4157 |
|
|
instead of checking GIMPLE_STMT_P in chain_next.
|
| 4158 |
|
|
|
| 4159 |
|
|
2007-04-17 Tobias Schlüter
|
| 4160 |
|
|
|
| 4161 |
|
|
* trans-types.h (gfc_packed): New enum.
|
| 4162 |
|
|
(gfc_get_nodesc_array_type): Change prototype to use new enum.
|
| 4163 |
|
|
* trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
|
| 4164 |
|
|
argument packed. Adapt all references to values accordingly.
|
| 4165 |
|
|
(gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
|
| 4166 |
|
|
(gfc_get_derived_type): Likewise.
|
| 4167 |
|
|
* trans-array.c (gfc_build_constant_array_constructor): Likewise.
|
| 4168 |
|
|
* trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
|
| 4169 |
|
|
argument to type gfc_packed.
|
| 4170 |
|
|
(gfc_add_interface_mapping): Use enum values in call to
|
| 4171 |
|
|
gfc_get_interface_mapping.
|
| 4172 |
|
|
* trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
|
| 4173 |
|
|
values when determining packing.
|
| 4174 |
|
|
|
| 4175 |
|
|
* trans-decl.c (gfc_finish_decl): Remove unused second argument
|
| 4176 |
|
|
'init'. Simplify code accordingly. Remove calls to
|
| 4177 |
|
|
gfc_fatal_error in favor of gcc_assert.
|
| 4178 |
|
|
(create_function_arglist): Remove second argument from calls to
|
| 4179 |
|
|
gfc_finish-decl.
|
| 4180 |
|
|
(gfc_trans_dummy_character): Likewise.
|
| 4181 |
|
|
|
| 4182 |
|
|
* arith.h: Update copyright years.
|
| 4183 |
|
|
* dependency.h: Likewise.
|
| 4184 |
|
|
* gfortran.h: Likewise.
|
| 4185 |
|
|
* lang-specs.h: Likewise.
|
| 4186 |
|
|
* parse.h: Likewise.
|
| 4187 |
|
|
* symbol.c: Likewise.
|
| 4188 |
|
|
* trans.h: Likewise.
|
| 4189 |
|
|
* trans.c: Likewise.
|
| 4190 |
|
|
* trans-array.c: Likewise.
|
| 4191 |
|
|
* trans-common.c: Likewise.
|
| 4192 |
|
|
* trans-const.h: Likewise.
|
| 4193 |
|
|
* trans-const.c: Likewise.
|
| 4194 |
|
|
* trans-decl.c: Likewise.
|
| 4195 |
|
|
* trans-expr.c: Likewise.
|
| 4196 |
|
|
* trans-io.c: Likewise.
|
| 4197 |
|
|
* trans-openmp.c: Likewise.
|
| 4198 |
|
|
* trans-types.h: Likewise.
|
| 4199 |
|
|
* types.def: Likewise.
|
| 4200 |
|
|
|
| 4201 |
|
|
2007-04-17 Tobias Schlüter
|
| 4202 |
|
|
|
| 4203 |
|
|
PR fortran/31144
|
| 4204 |
|
|
* decl.c (gfc_sym_mangled_identifier): Use capital letters in name
|
| 4205 |
|
|
mangling.
|
| 4206 |
|
|
(gfc_sym_mangled_function_id): Likewise.
|
| 4207 |
|
|
|
| 4208 |
|
|
2007-04-15 Paul Thomas
|
| 4209 |
|
|
|
| 4210 |
|
|
PR fortran/31204
|
| 4211 |
|
|
* primary.c (check_for_implicit_index): New function to check
|
| 4212 |
|
|
that a host associated variable is not an undeclared implied
|
| 4213 |
|
|
do loop index.
|
| 4214 |
|
|
(gfc_match_rvalue, match_variable): Use it and reset the
|
| 4215 |
|
|
implied_index attribute.
|
| 4216 |
|
|
* gfortran.h : Add the implied_index field to symbol_attribute.
|
| 4217 |
|
|
* match.c (gfc_match_iterator): Mark the iterator variable
|
| 4218 |
|
|
with the new attribute.
|
| 4219 |
|
|
* decl.c (build_sym): Reset the new attribute.
|
| 4220 |
|
|
|
| 4221 |
|
|
2007-04-15 Kazu Hirata
|
| 4222 |
|
|
|
| 4223 |
|
|
* gfc-internals.texi: Fix typos.
|
| 4224 |
|
|
* simplify.c: Fix a comment typo.
|
| 4225 |
|
|
|
| 4226 |
|
|
2007-04-14 Bernhard Fischer
|
| 4227 |
|
|
|
| 4228 |
|
|
* primary.c: Commentary typo fix; Add question about redundant (?)
|
| 4229 |
|
|
set.
|
| 4230 |
|
|
|
| 4231 |
|
|
2007-04-14 Paul Thomas
|
| 4232 |
|
|
|
| 4233 |
|
|
PR fortran/29507
|
| 4234 |
|
|
PR fortran/31404
|
| 4235 |
|
|
* expr.c (scalarize_intrinsic_call): New function to
|
| 4236 |
|
|
scalarize elemental intrinsic functions in initialization
|
| 4237 |
|
|
expressions.
|
| 4238 |
|
|
(check_init_expr): Detect elemental intrinsic functions
|
| 4239 |
|
|
in initalization expressions and call previous.
|
| 4240 |
|
|
|
| 4241 |
|
|
2007-04-13 Tobias Burnus
|
| 4242 |
|
|
|
| 4243 |
|
|
PR fortran/31559
|
| 4244 |
|
|
* primary.c (match_variable): External functions
|
| 4245 |
|
|
are no variables.
|
| 4246 |
|
|
|
| 4247 |
|
|
2007-04-13 Paul Thomas
|
| 4248 |
|
|
|
| 4249 |
|
|
PR fortran/31550
|
| 4250 |
|
|
* trans-types.c (copy_dt_decls_ifequal): Do not get pointer
|
| 4251 |
|
|
derived type components.
|
| 4252 |
|
|
|
| 4253 |
|
|
2007-04-13 Tobias Schlüter
|
| 4254 |
|
|
|
| 4255 |
|
|
PR fortran/18937
|
| 4256 |
|
|
* resolve.c: Include obstack.h and bitmap.h. New variable
|
| 4257 |
|
|
labels_obstack.
|
| 4258 |
|
|
(code_stack): Add tail and reachable_labels fields.
|
| 4259 |
|
|
(reachable_labels): New function.
|
| 4260 |
|
|
(resolve_branch): Rework to use new fields in code_stack.
|
| 4261 |
|
|
(resolve_code): Call reachable_labels.
|
| 4262 |
|
|
(resolve_codes): Allocate and free labels_obstack.
|
| 4263 |
|
|
|
| 4264 |
|
|
2007-04-12 Tobias Schlüter
|
| 4265 |
|
|
|
| 4266 |
|
|
PR fortran/31250
|
| 4267 |
|
|
* decl.c (match_char_spec): Move check for negative CHARACTER
|
| 4268 |
|
|
length ...
|
| 4269 |
|
|
* resolve.c (resolve_charlen): ... here.
|
| 4270 |
|
|
(resolve_types): Resolve CHARACTER lengths earlier.
|
| 4271 |
|
|
|
| 4272 |
|
|
2007-04-12 Daniel Franke
|
| 4273 |
|
|
|
| 4274 |
|
|
PR fortran/31234
|
| 4275 |
|
|
* intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
|
| 4276 |
|
|
|
| 4277 |
|
|
2007-04-12 Tobias Schlüter
|
| 4278 |
|
|
|
| 4279 |
|
|
PR fortran/31266
|
| 4280 |
|
|
* primary.c (gfc_variable_attr): Don't copy string length if it
|
| 4281 |
|
|
doesn't make sense.
|
| 4282 |
|
|
* resolve.c (resolve_code): Clarify error message.
|
| 4283 |
|
|
|
| 4284 |
|
|
PR fortran/31471
|
| 4285 |
|
|
* decl.c (gfc_match_end): Also check for construct name in END
|
| 4286 |
|
|
FORALL and END WERE statements.
|
| 4287 |
|
|
* match.c (match_case_eos): Use uppercase for statement name in
|
| 4288 |
|
|
error message.
|
| 4289 |
|
|
(match_elsewhere): Construct name may appear iff construct has a
|
| 4290 |
|
|
name.
|
| 4291 |
|
|
|
| 4292 |
|
|
* trans-types.c: Update copyright years. Reformat long comment
|
| 4293 |
|
|
explaining array descriptor format. Remove obsolete mention of
|
| 4294 |
|
|
TYPE_SET.
|
| 4295 |
|
|
|
| 4296 |
|
|
* arith.c (gfc_arith_uplus): Rename to ...
|
| 4297 |
|
|
(gfc_arith_identity): ... this.
|
| 4298 |
|
|
(gfc_parentheses): New function.
|
| 4299 |
|
|
(gfc_uplus): Adapt to renamed function.
|
| 4300 |
|
|
* arith.h (gfc_parentheses): Add prototype.
|
| 4301 |
|
|
* expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
|
| 4302 |
|
|
(simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
|
| 4303 |
|
|
INTRINSIC_PARENTHESES.
|
| 4304 |
|
|
|
| 4305 |
|
|
2007-04-12 Tobias Burnus
|
| 4306 |
|
|
|
| 4307 |
|
|
PR fortran/31472
|
| 4308 |
|
|
* decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
|
| 4309 |
|
|
attribute in type definitions.
|
| 4310 |
|
|
(gfc_match_private): Allow PRIVATE statement only
|
| 4311 |
|
|
in specification part of modules.
|
| 4312 |
|
|
(gfc_match_public): Ditto for PUBLIC.
|
| 4313 |
|
|
(gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
|
| 4314 |
|
|
specificification part of modules.
|
| 4315 |
|
|
|
| 4316 |
|
|
2007-04-07 Paul Thomas
|
| 4317 |
|
|
|
| 4318 |
|
|
PR fortran/31257
|
| 4319 |
|
|
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
|
| 4320 |
|
|
* intrinsic.h : Add prototype for gfc_resolve_achar.
|
| 4321 |
|
|
* iresolve.c (gfc_resolve_achar): New function.
|
| 4322 |
|
|
|
| 4323 |
|
|
2007-04-07 Paul Thomas
|
| 4324 |
|
|
|
| 4325 |
|
|
PR fortran/30880
|
| 4326 |
|
|
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
|
| 4327 |
|
|
arrays. Make condition for automatic array error explicit.
|
| 4328 |
|
|
If a dummy, no error on an INTENT(OUT) derived type.
|
| 4329 |
|
|
|
| 4330 |
|
|
2007-04-07 Paul Thomas
|
| 4331 |
|
|
|
| 4332 |
|
|
PR fortran/30872
|
| 4333 |
|
|
* expr.c (find_array_element): Correct arithmetic for rank > 1.
|
| 4334 |
|
|
|
| 4335 |
|
|
2007-04-07 Paul Thomas
|
| 4336 |
|
|
|
| 4337 |
|
|
PR fortran/31222
|
| 4338 |
|
|
* check.c (numeric_check): If an expresson has not got a type,
|
| 4339 |
|
|
see if it is a symbol for which a default type applies.
|
| 4340 |
|
|
|
| 4341 |
|
|
2007-04-07 Paul Thomas
|
| 4342 |
|
|
|
| 4343 |
|
|
PR fortran/31214
|
| 4344 |
|
|
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
|
| 4345 |
|
|
associated symbols.
|
| 4346 |
|
|
|
| 4347 |
|
|
2007-04-07 Paul Thomas
|
| 4348 |
|
|
|
| 4349 |
|
|
PR fortran/31293
|
| 4350 |
|
|
* symbol.c (gfc_check_function_type): New function.
|
| 4351 |
|
|
* gfortran.h : Add prototype for previous.
|
| 4352 |
|
|
* parse.c (parse_progunit): Call it after parsing specification
|
| 4353 |
|
|
statements.
|
| 4354 |
|
|
|
| 4355 |
|
|
2007-04-05 Paul Thomas
|
| 4356 |
|
|
|
| 4357 |
|
|
PR fortran/31483
|
| 4358 |
|
|
* trans-expr.c (gfc_conv_function_call): Give a dummy
|
| 4359 |
|
|
procedure the correct type if it has alternate returns.
|
| 4360 |
|
|
|
| 4361 |
|
|
2007-04-05 Paul Thomas
|
| 4362 |
|
|
|
| 4363 |
|
|
PR fortran/31292
|
| 4364 |
|
|
* decl.c (gfc_match_modproc): Go up to the top of the namespace
|
| 4365 |
|
|
tree to find the module namespace for gfc_get_symbol.
|
| 4366 |
|
|
|
| 4367 |
|
|
2007-04-03 Francois-Xavier Coudert
|
| 4368 |
|
|
|
| 4369 |
|
|
PR fortran/31304
|
| 4370 |
|
|
* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
|
| 4371 |
|
|
* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
|
| 4372 |
|
|
(gfc_init_types): Define gfc_charlen_int_kind.
|
| 4373 |
|
|
* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
|
| 4374 |
|
|
* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
|
| 4375 |
|
|
(gfc_build_intrinsic_function_decls): Don't set
|
| 4376 |
|
|
gfor_fndecl_string_repeat.
|
| 4377 |
|
|
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
|
| 4378 |
|
|
so that we don't have to call a library function.
|
| 4379 |
|
|
* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
|
| 4380 |
|
|
checks on the NCOPIES argument, and work with arbitrary size
|
| 4381 |
|
|
arguments.
|
| 4382 |
|
|
|
| 4383 |
|
|
2007-03-31 Tobias Burnus
|
| 4384 |
|
|
|
| 4385 |
|
|
* intrinsic.c (add_functions): Fix name of dummy argument
|
| 4386 |
|
|
for new_line and exit intrinsic.
|
| 4387 |
|
|
|
| 4388 |
|
|
2007-03-31 Paul Thomas
|
| 4389 |
|
|
|
| 4390 |
|
|
PR fortran/31160
|
| 4391 |
|
|
* gfortran.texi: Add a section for the %VAL, %REF and %LOC
|
| 4392 |
|
|
extensions.
|
| 4393 |
|
|
|
| 4394 |
|
|
2007-03-30 Rafael Ávila de Espíndola
|
| 4395 |
|
|
|
| 4396 |
|
|
* trans-types.c (gfc_signed_or_unsigned_type): Remove.
|
| 4397 |
|
|
(gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
|
| 4398 |
|
|
gfc_signed_or_unsigned_type.
|
| 4399 |
|
|
(gfc_signed_type): Ditto.
|
| 4400 |
|
|
* trans-types.h (gfc_signed_or_unsigned_type): Remove.
|
| 4401 |
|
|
* f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
|
| 4402 |
|
|
|
| 4403 |
|
|
2007-03-30 Tobias Schlüter
|
| 4404 |
|
|
|
| 4405 |
|
|
* symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
|
| 4406 |
|
|
descend into all branches.
|
| 4407 |
|
|
|
| 4408 |
|
|
2007-03-29 Tobias Schlüter
|
| 4409 |
|
|
|
| 4410 |
|
|
* intrinsic.c (conv_name): Let gfc_get_string handle the format.
|
| 4411 |
|
|
(find_conv): Compare pointers instead of calling strcmp.
|
| 4412 |
|
|
(find_sym): Likewise, but ensure that the compared pointer is in
|
| 4413 |
|
|
the global string table.
|
| 4414 |
|
|
|
| 4415 |
|
|
2007-03-28 Tobias Schlüter
|
| 4416 |
|
|
|
| 4417 |
|
|
* gfc-internals.texi: Fix output filename. Merge type index into
|
| 4418 |
|
|
concept index. Start documentation of gfc_code structure.
|
| 4419 |
|
|
|
| 4420 |
|
|
2007-03-26 Brooks Moses
|
| 4421 |
|
|
|
| 4422 |
|
|
* gfc-internals.texi: New file,
|
| 4423 |
|
|
* Make-lang.in: Add rules to convert it to dvi, pdf, and info.
|
| 4424 |
|
|
|
| 4425 |
|
|
2007-03-26 Brooks Moses
|
| 4426 |
|
|
|
| 4427 |
|
|
* error.c (show_locus): Remove always-false test.
|
| 4428 |
|
|
|
| 4429 |
|
|
2007-03-26 Brooks Moses
|
| 4430 |
|
|
|
| 4431 |
|
|
* lang.opt: Minor edits to descriptions.
|
| 4432 |
|
|
|
| 4433 |
|
|
2007-03-25 Francois-Xavier Coudert
|
| 4434 |
|
|
|
| 4435 |
|
|
PR fortran/30877
|
| 4436 |
|
|
* fortran/interface.c (check_operator_interface): Implement
|
| 4437 |
|
|
the standard checks on user operators extending intrinsic operators.
|
| 4438 |
|
|
* fortran/resolve.c (resolve_operator): If the ranks of operators
|
| 4439 |
|
|
don't match, don't error out but try the user-defined ones first.
|
| 4440 |
|
|
|
| 4441 |
|
|
2007-03-24 Francois-Xavier Coudert
|
| 4442 |
|
|
|
| 4443 |
|
|
PR fortran/30655
|
| 4444 |
|
|
* expr.c (check_dimension): Fix logic of comparisons.
|
| 4445 |
|
|
|
| 4446 |
|
|
2007-03-24 Paul Thomas
|
| 4447 |
|
|
|
| 4448 |
|
|
PR fortran/31215
|
| 4449 |
|
|
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
|
| 4450 |
|
|
int result that is non-zero if the expression is the function
|
| 4451 |
|
|
result. Only the characteristics of the result expression
|
| 4452 |
|
|
can be used in a procedure interface, so simplify LEN in situ
|
| 4453 |
|
|
using its character length.
|
| 4454 |
|
|
|
| 4455 |
|
|
PR fortran/31209
|
| 4456 |
|
|
PR fortran/31200
|
| 4457 |
|
|
* trans-expr.c (gfc_conv_function_call): Do not use
|
| 4458 |
|
|
gfc_conv_expr_reference for actual pointer function with formal
|
| 4459 |
|
|
target because a temporary is created that does not transfer
|
| 4460 |
|
|
the reference correctly. Do not indirect formal pointer
|
| 4461 |
|
|
functions since it is the function reference that is needed.
|
| 4462 |
|
|
|
| 4463 |
|
|
2007-03-24 Brooks Moses
|
| 4464 |
|
|
|
| 4465 |
|
|
* gfortran.h: Edit comments on GFC_STD_*.
|
| 4466 |
|
|
|
| 4467 |
|
|
2007-03-23 Brooks Moses
|
| 4468 |
|
|
|
| 4469 |
|
|
* invoke.texi: Misc. small typo fixes.
|
| 4470 |
|
|
(-Wcharacter-truncation): Add.
|
| 4471 |
|
|
(-Wnonstd-intrinsics): Correct spelling.
|
| 4472 |
|
|
(-std=): Edit.
|
| 4473 |
|
|
(-fintrinsic-modules-path): Add.
|
| 4474 |
|
|
|
| 4475 |
|
|
2007-03-23 Francois-Xavier Coudert
|
| 4476 |
|
|
|
| 4477 |
|
|
PR fortran/30834
|
| 4478 |
|
|
* arith.c (complex_pow): Rewrite to handle large power.
|
| 4479 |
|
|
(gfc_arith_power): Handle large power in the real and integer
|
| 4480 |
|
|
cases.
|
| 4481 |
|
|
|
| 4482 |
|
|
2007-03-22 Francois-Xavier Coudert
|
| 4483 |
|
|
|
| 4484 |
|
|
PR fortran/31262
|
| 4485 |
|
|
* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
|
| 4486 |
|
|
larger than twice the width of a HOST_WIDE_INT.
|
| 4487 |
|
|
|
| 4488 |
|
|
2007-03-22 Paul Thomas
|
| 4489 |
|
|
|
| 4490 |
|
|
PR fortran/31193
|
| 4491 |
|
|
* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
|
| 4492 |
|
|
(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
|
| 4493 |
|
|
Explicitly extract TREE_TYPEs for source and mold. Use these
|
| 4494 |
|
|
to calculate length of source and mold, except for characters,
|
| 4495 |
|
|
where the se string_length is used. For mold, the TREE_TYPE is
|
| 4496 |
|
|
recalculated using gfc_get_character_type_len so that the
|
| 4497 |
|
|
result is correctly cast for character literals and substrings.
|
| 4498 |
|
|
Do not use gfc_typenode_for_spec for the final cast.
|
| 4499 |
|
|
|
| 4500 |
|
|
2007-03-22 Tobias Schlüter
|
| 4501 |
|
|
|
| 4502 |
|
|
PR fortran/20897
|
| 4503 |
|
|
* decl.c (gfc_match_derived_decl): Reliably reject
|
| 4504 |
|
|
'doubleprecision' and 'doublecomplex' as type names.
|
| 4505 |
|
|
|
| 4506 |
|
|
2007-03-19 Francois-Xavier Coudert
|
| 4507 |
|
|
|
| 4508 |
|
|
PR fortran/31203
|
| 4509 |
|
|
* trans-expr.c (gfc_trans_init_string_length): Length should
|
| 4510 |
|
|
never be negative.
|
| 4511 |
|
|
(gfc_conv_function_call): Likewise.
|
| 4512 |
|
|
|
| 4513 |
|
|
2007-03-18 Paul Thomas
|
| 4514 |
|
|
|
| 4515 |
|
|
PR fortran/30531
|
| 4516 |
|
|
PR fortran/31086
|
| 4517 |
|
|
* symbo.c : Add gfc_derived_types.
|
| 4518 |
|
|
(gfc_free_dt_list): Free derived type list gfc_derived_types.
|
| 4519 |
|
|
(gfc_free_namespace): Remove call to gfc_free_dt_list.
|
| 4520 |
|
|
(gfc_symbol_done_2): Call gfc_free_dt_list.
|
| 4521 |
|
|
* gfortran.h : Declare gfc_derived_types to be external. Remove
|
| 4522 |
|
|
derived types field from gfc_namespace.
|
| 4523 |
|
|
* resolve.c (resolve_fl_derived): Refer to gfc_derived types
|
| 4524 |
|
|
rather than namespace derived_types.
|
| 4525 |
|
|
(resolve_fntype): Remove special treatment for module
|
| 4526 |
|
|
derived type functions.
|
| 4527 |
|
|
* trans-types.c (gfc_get_derived_type): Remove search for like
|
| 4528 |
|
|
derived types. Finish by copying back end declaration to like
|
| 4529 |
|
|
derived types in the derived type list gfc_derived_types.
|
| 4530 |
|
|
|
| 4531 |
|
|
2007-03-17 Francois-Xavier Coudert
|
| 4532 |
|
|
|
| 4533 |
|
|
PR fortran/31120
|
| 4534 |
|
|
* trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
|
| 4535 |
|
|
(gfc_conv_cst_int_power): Handle integer exponent with care,
|
| 4536 |
|
|
since it might be too large for us.
|
| 4537 |
|
|
|
| 4538 |
|
|
2007-03-17 Francois-Xavier Coudert
|
| 4539 |
|
|
|
| 4540 |
|
|
PR fortran/31184
|
| 4541 |
|
|
* invoke.texi: Fix typo.
|
| 4542 |
|
|
|
| 4543 |
|
|
2007-03-16 Tobias Burnus
|
| 4544 |
|
|
|
| 4545 |
|
|
* trans-decl.c (gfc_generate_function_code): Use all arguments of
|
| 4546 |
|
|
set_std.
|
| 4547 |
|
|
|
| 4548 |
|
|
2007-03-15 Francois-Xavier Coudert
|
| 4549 |
|
|
|
| 4550 |
|
|
* gfortran.h (gfc_option_t): Add flag_backtrace field.
|
| 4551 |
|
|
* lang.opt: Add -fbacktrace option.
|
| 4552 |
|
|
* invoke.texi: Document the new option.
|
| 4553 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
| 4554 |
|
|
option to the call to set_std.
|
| 4555 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
| 4556 |
|
|
new option.
|
| 4557 |
|
|
|
| 4558 |
|
|
2007-03-15 Tobias Burnus
|
| 4559 |
|
|
Paul Thomas
|
| 4560 |
|
|
|
| 4561 |
|
|
PR fortran/30922
|
| 4562 |
|
|
* decl.c (gfc_match_import): If the parent of the current name-
|
| 4563 |
|
|
space is null, try looking for an imported symbol in the parent
|
| 4564 |
|
|
of the proc_name interface.
|
| 4565 |
|
|
* resolve.c (resolve_fl_variable): Do not check for blocking of
|
| 4566 |
|
|
host association by a same symbol, if the symbol is in an
|
| 4567 |
|
|
interface body.
|
| 4568 |
|
|
|
| 4569 |
|
|
2007-03-15 Paul Thomas
|
| 4570 |
|
|
|
| 4571 |
|
|
PR fortran/30879
|
| 4572 |
|
|
* decl.c (match_data_constant): Before going on to try to match
|
| 4573 |
|
|
a name, try to match a structure component.
|
| 4574 |
|
|
|
| 4575 |
|
|
|
| 4576 |
|
|
PR fortran/30870
|
| 4577 |
|
|
* resolve.c (resolve_actual_arglist): Do not reject a generic
|
| 4578 |
|
|
actual argument if it has a same name specific interface.
|
| 4579 |
|
|
|
| 4580 |
|
|
PR fortran/31163
|
| 4581 |
|
|
* trans-array.c (parse_interface): Do not nullify allocatable
|
| 4582 |
|
|
components if the symbol has the saved attribute.
|
| 4583 |
|
|
|
| 4584 |
|
|
2007-03-14 Francois-Xavier Coudert
|
| 4585 |
|
|
|
| 4586 |
|
|
* trans-array.c (gfc_trans_auto_array_allocation): Replace
|
| 4587 |
|
|
fold(convert()) by fold_convert().
|
| 4588 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
| 4589 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
|
| 4590 |
|
|
build_int_cst instead of converting an integer_zero_node
|
| 4591 |
|
|
to the final type.
|
| 4592 |
|
|
|
| 4593 |
|
|
2007-03-14 Jakub Jelinek
|
| 4594 |
|
|
|
| 4595 |
|
|
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
|
| 4596 |
|
|
|
| 4597 |
|
|
2007-03-13 Brooks Moses
|
| 4598 |
|
|
|
| 4599 |
|
|
PR fortran/30933
|
| 4600 |
|
|
PR fortran/30948
|
| 4601 |
|
|
PR fortran/30953
|
| 4602 |
|
|
* intrinsics.texi (CHDIR): Fix argument names, note
|
| 4603 |
|
|
that STATUS must be a default integer.
|
| 4604 |
|
|
(CTIME): Fix argument names, note that RESULT must
|
| 4605 |
|
|
be a default integer.
|
| 4606 |
|
|
(EXIT): Note that STATUS must be a default integer.
|
| 4607 |
|
|
|
| 4608 |
|
|
2007-03-13 Brooks Moses
|
| 4609 |
|
|
|
| 4610 |
|
|
PR fortran/28068
|
| 4611 |
|
|
* intrinsic.texi: General whitespace cleanup, remove
|
| 4612 |
|
|
comment about missing intrinsics.
|
| 4613 |
|
|
(menu): Add lines for new entries listed below.
|
| 4614 |
|
|
(ACOSH): Mention specific function DACOSH, correct
|
| 4615 |
|
|
description phrasing.
|
| 4616 |
|
|
(ASINH): Mention specific function DASINH, correct
|
| 4617 |
|
|
description phrasing.
|
| 4618 |
|
|
(ATANH): Mention specific function DATANH, correct
|
| 4619 |
|
|
description phrasing.
|
| 4620 |
|
|
(COS): Add index entry for CCOS.
|
| 4621 |
|
|
(CPU_TIME): Correct "REAL" to "REAL(*)".
|
| 4622 |
|
|
(EXP): Add index entry for CEXP.
|
| 4623 |
|
|
(INT): Correct argument name to "A".
|
| 4624 |
|
|
(INT2): New entry.
|
| 4625 |
|
|
(INT8): New entry.
|
| 4626 |
|
|
(LONG): New entry.
|
| 4627 |
|
|
(MAX): Add index entries for specific variants.
|
| 4628 |
|
|
(MCLOCK): New entry.
|
| 4629 |
|
|
(MCLOCK8): New entry.
|
| 4630 |
|
|
(SECNDS): Adjust to a more standard form.
|
| 4631 |
|
|
(SECOND): New entry.
|
| 4632 |
|
|
(TIME): Add cross-reference to MCLOCK.
|
| 4633 |
|
|
(TIME8): Add cross-reference to MCLOCK8.
|
| 4634 |
|
|
|
| 4635 |
|
|
2007-03-11 Paul Thomas
|
| 4636 |
|
|
|
| 4637 |
|
|
PR fortran/30883
|
| 4638 |
|
|
* parse.c (parse_interface): Use the default types from the
|
| 4639 |
|
|
formal namespace if a function or its result do not have a type
|
| 4640 |
|
|
after parsing the specification statements.
|
| 4641 |
|
|
|
| 4642 |
|
|
2007-03-08 Brooks Moses
|
| 4643 |
|
|
|
| 4644 |
|
|
* intrinsic.texi: (ICHAR) Improve internal I/O note.
|
| 4645 |
|
|
(ACHAR): Reference it.
|
| 4646 |
|
|
(CHAR): Reference it.
|
| 4647 |
|
|
(IACHAR): Reference it.
|
| 4648 |
|
|
|
| 4649 |
|
|
2007-03-08 Brooks Moses
|
| 4650 |
|
|
|
| 4651 |
|
|
* intrinsic.texi: (LINK) Document function form.
|
| 4652 |
|
|
(RENAME): Likewise.
|
| 4653 |
|
|
(SYMLNK): Likewise.
|
| 4654 |
|
|
(SYSTEM): Likewise.
|
| 4655 |
|
|
(UNLINK): Likewise.
|
| 4656 |
|
|
|
| 4657 |
|
|
2007-03-08 Brooks Moses
|
| 4658 |
|
|
|
| 4659 |
|
|
* intrinsic.texi: minor typo fixes, removed prologue.
|
| 4660 |
|
|
(FSEEK): moved to correct place in alphabetical order.
|
| 4661 |
|
|
|
| 4662 |
|
|
2007-03-08 Daniel Franke
|
| 4663 |
|
|
|
| 4664 |
|
|
PR fortran/30947
|
| 4665 |
|
|
* check.c (gfc_check_alarm_sub): Added check for default integer
|
| 4666 |
|
|
kind of status argument.
|
| 4667 |
|
|
* iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
|
| 4668 |
|
|
status argument.
|
| 4669 |
|
|
* intrinsic.texi (ALARM): Extended documentation.
|
| 4670 |
|
|
|
| 4671 |
|
|
2007-03-08 Daniel Franke
|
| 4672 |
|
|
|
| 4673 |
|
|
* intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
|
| 4674 |
|
|
(ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
|
| 4675 |
|
|
* intrinsic.c (add_subroutines): Adjusted dummy argument names
|
| 4676 |
|
|
of GERROR and TTYNAM.
|
| 4677 |
|
|
|
| 4678 |
|
|
2007-07-08 Tobias Burnus
|
| 4679 |
|
|
|
| 4680 |
|
|
* module.c (gfc_match_use): Support renaming of operators
|
| 4681 |
|
|
in USE statements.
|
| 4682 |
|
|
* gfortran.texi (Fortran 2003 Status): Document support of
|
| 4683 |
|
|
renaming of operators.
|
| 4684 |
|
|
|
| 4685 |
|
|
2007-07-08 Tobias Burnus
|
| 4686 |
|
|
|
| 4687 |
|
|
PR fortran/30973
|
| 4688 |
|
|
* module.c (read_module): Always import module name as symbol.
|
| 4689 |
|
|
(gfc_match_use): Disallow module name in the only clause of
|
| 4690 |
|
|
a use statement.
|
| 4691 |
|
|
|
| 4692 |
|
|
2007-03-08 Paul Thomas
|
| 4693 |
|
|
|
| 4694 |
|
|
PR fortran/31011
|
| 4695 |
|
|
* expr.c (find_array_section): Correct arithmetic for section
|
| 4696 |
|
|
size.
|
| 4697 |
|
|
|
| 4698 |
|
|
2007-03-07 Brooks Moses
|
| 4699 |
|
|
|
| 4700 |
|
|
* iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
|
| 4701 |
|
|
|
| 4702 |
|
|
2007-03-06 Daniel Franke
|
| 4703 |
|
|
|
| 4704 |
|
|
PR documentation/30950
|
| 4705 |
|
|
* intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
|
| 4706 |
|
|
(FREE): Fix call syntax.
|
| 4707 |
|
|
|
| 4708 |
|
|
2007-03-06 Brooks Moses
|
| 4709 |
|
|
|
| 4710 |
|
|
* intrinsic.texi: Limit column widths to a total of .85.
|
| 4711 |
|
|
|
| 4712 |
|
|
2007-03-05 Brooks Moses
|
| 4713 |
|
|
|
| 4714 |
|
|
* gfortran.texi (GFortran and G77): Rewrite completely.
|
| 4715 |
|
|
|
| 4716 |
|
|
2007-03-05 Brooks Moses
|
| 4717 |
|
|
|
| 4718 |
|
|
* match.c (gfc_match_name): Expanded comment.
|
| 4719 |
|
|
|
| 4720 |
|
|
2007-03-05 Brooks Moses
|
| 4721 |
|
|
|
| 4722 |
|
|
* gfortran.texi (Old-style kind specifications): Document
|
| 4723 |
|
|
special handling of old-style kind specifiers for COMPLEX.
|
| 4724 |
|
|
* decl.c (gfc_match_old_kind_spec): Document kind/bytesize
|
| 4725 |
|
|
assumptions for COMPLEX in comment.
|
| 4726 |
|
|
|
| 4727 |
|
|
2007-03-05 Brooks Moses
|
| 4728 |
|
|
|
| 4729 |
|
|
PR 31050
|
| 4730 |
|
|
* gfortranspec.c (lang_specific_driver): Update program
|
| 4731 |
|
|
name and copyright date.
|
| 4732 |
|
|
|
| 4733 |
|
|
2007-03-03 Paul Thomas
|
| 4734 |
|
|
|
| 4735 |
|
|
PR fortran/30882
|
| 4736 |
|
|
* check.c (dim_rank_check): The shape of subsections of
|
| 4737 |
|
|
assumed-size arrays is known.
|
| 4738 |
|
|
|
| 4739 |
|
|
2007-03-02 Paul Thomas
|
| 4740 |
|
|
Tobias Burnus
|
| 4741 |
|
|
|
| 4742 |
|
|
PR fortran/30873
|
| 4743 |
|
|
* decl.c (gfc_match_entry): Remove erroneous entry result check.
|
| 4744 |
|
|
|
| 4745 |
|
|
2007-03-01 Brooks Moses
|
| 4746 |
|
|
|
| 4747 |
|
|
* Make-lang.in: Add install-pdf target as copied from
|
| 4748 |
|
|
automake v1.10 rules.
|
| 4749 |
|
|
|
| 4750 |
|
|
2007-03-01 Tobias Burnus
|
| 4751 |
|
|
|
| 4752 |
|
|
PR fortran/30865
|
| 4753 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
|
| 4754 |
|
|
|
| 4755 |
|
|
2007-02-28 Tobias Burnus
|
| 4756 |
|
|
Paul Thomas
|
| 4757 |
|
|
|
| 4758 |
|
|
PR fortran/30888
|
| 4759 |
|
|
PR fortran/30887
|
| 4760 |
|
|
* resolve.c (resolve_actual_arglist): Allow by-value
|
| 4761 |
|
|
arguments and non-default-kind for %VAL().
|
| 4762 |
|
|
* trans-expr.c (conv_arglist_function): Allow
|
| 4763 |
|
|
non-default-kind for %VAL().
|
| 4764 |
|
|
|
| 4765 |
|
|
2007-02-28 Tobias Burnus
|
| 4766 |
|
|
|
| 4767 |
|
|
PR fortran/30968
|
| 4768 |
|
|
* primary.c (next_string_char): Correct reading a character
|
| 4769 |
|
|
after the delimiter.
|
| 4770 |
|
|
(match_string_constant): Print warning message only once.
|
| 4771 |
|
|
|
| 4772 |
|
|
2007-02-27 Richard Guenther
|
| 4773 |
|
|
|
| 4774 |
|
|
* trans-array.c (structure_alloc_comps): Use correct type
|
| 4775 |
|
|
for null pointer constant.
|
| 4776 |
|
|
|
| 4777 |
|
|
2007-02-26 Brooks Moses
|
| 4778 |
|
|
|
| 4779 |
|
|
* gfortran.texi: Standardize title page, remove version number
|
| 4780 |
|
|
from copyright page.
|
| 4781 |
|
|
|
| 4782 |
|
|
2007-02-26 Thomas Koenig
|
| 4783 |
|
|
Paul Thomas
|
| 4784 |
|
|
|
| 4785 |
|
|
PR fortran/30865
|
| 4786 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_size):
|
| 4787 |
|
|
If dim is an optional argument, check for its
|
| 4788 |
|
|
presence and call size0 or size1, respectively.
|
| 4789 |
|
|
|
| 4790 |
|
|
2007-02-23 Paul Thomas
|
| 4791 |
|
|
|
| 4792 |
|
|
PR fortran/30660
|
| 4793 |
|
|
* resolve.c (has_default_initializer): New function.
|
| 4794 |
|
|
(resolve_fl_variable): Call has_default_initializer to determine if
|
| 4795 |
|
|
the derived type has a default initializer to its ultimate
|
| 4796 |
|
|
components.
|
| 4797 |
|
|
|
| 4798 |
|
|
|
| 4799 |
|
|
2007-02-22 Jerry DeLisle
|
| 4800 |
|
|
|
| 4801 |
|
|
* options.c (set_default_std_flags): New function to consolidate
|
| 4802 |
|
|
setting the flags.
|
| 4803 |
|
|
(gfc_init_options): Use new function.
|
| 4804 |
|
|
(gfc_handle_option): Use new function.
|
| 4805 |
|
|
|
| 4806 |
|
|
2007-02-22 Brooks Moses
|
| 4807 |
|
|
|
| 4808 |
|
|
* gfortran.texi (Old-style kind specifications): Document
|
| 4809 |
|
|
special handling of old-style kind specifiers for COMPLEX.
|
| 4810 |
|
|
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
|
| 4811 |
|
|
assumptions in comment.
|
| 4812 |
|
|
|
| 4813 |
|
|
2007-02-21 Bernhard Fischer
|
| 4814 |
|
|
|
| 4815 |
|
|
* parse.c (next_free): Gooble spaces after OpenMP sentinel.
|
| 4816 |
|
|
|
| 4817 |
|
|
2007-02-20 Thomas Koenig
|
| 4818 |
|
|
|
| 4819 |
|
|
PR fortran/30869
|
| 4820 |
|
|
* match.c (gfc_match_iterator): Remove conflict between
|
| 4821 |
|
|
loop variable and pointer.
|
| 4822 |
|
|
|
| 4823 |
|
|
2007-02-20 Tobias Burnus
|
| 4824 |
|
|
|
| 4825 |
|
|
PR fortran/30522
|
| 4826 |
|
|
* symbol.c (gfc_add_volatile): Allow to set VOLATILE
|
| 4827 |
|
|
attribute for host-associated variables.
|
| 4828 |
|
|
* gfortran.h (symbol_attribute): Save namespace
|
| 4829 |
|
|
where VOLATILE has been set.
|
| 4830 |
|
|
* trans-decl.c (gfc_finish_var_decl): Move variable
|
| 4831 |
|
|
declaration to the top.
|
| 4832 |
|
|
|
| 4833 |
|
|
2007-02-20 Tobias Burnus
|
| 4834 |
|
|
|
| 4835 |
|
|
PR fortran/30783
|
| 4836 |
|
|
* resolve.c (resolve_symbol): Add character dummy VALUE check.
|
| 4837 |
|
|
|
| 4838 |
|
|
2007-02-19 Thomas Koenig
|
| 4839 |
|
|
|
| 4840 |
|
|
PR libfortran/30533
|
| 4841 |
|
|
* fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
|
| 4842 |
|
|
argument to default integer.
|
| 4843 |
|
|
(gfc_resolve_minloc): Likewise.
|
| 4844 |
|
|
|
| 4845 |
|
|
2007-02-18 Jerry DeLisle
|
| 4846 |
|
|
|
| 4847 |
|
|
PR fortran/30681
|
| 4848 |
|
|
* options.c (gfc_init_options): Relax warning level for obsolescent.
|
| 4849 |
|
|
* match.c (match_arithmetic_if): Change to obsolescent from deleted.
|
| 4850 |
|
|
(gfc_match_if): Same.
|
| 4851 |
|
|
|
| 4852 |
|
|
2007-02-18 Roger Sayle
|
| 4853 |
|
|
|
| 4854 |
|
|
* trans-array.c (gfc_build_constant_array_constructor): When the
|
| 4855 |
|
|
shape of the constructor is known, use that to construct the
|
| 4856 |
|
|
gfc_array_spec.
|
| 4857 |
|
|
(gfc_trans_constant_array_constructor): Initialize the "info"
|
| 4858 |
|
|
information for all of the dimensions of the array constructor.
|
| 4859 |
|
|
(constant_array_constructor_loop_size): New function.
|
| 4860 |
|
|
(gfc_trans_array_constructor): Use it to determine whether a
|
| 4861 |
|
|
loop is suitable for "constant array constructor" optimization.
|
| 4862 |
|
|
|
| 4863 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
|
| 4864 |
|
|
instead of build2, to avoid conditions like "(a != b) != 0".
|
| 4865 |
|
|
|
| 4866 |
|
|
2007-02-18 Roger Sayle
|
| 4867 |
|
|
Paul Thomas
|
| 4868 |
|
|
|
| 4869 |
|
|
PR fortran/30400
|
| 4870 |
|
|
* match.c (match_forall_iterator): Use gfc_match_expr instead
|
| 4871 |
|
|
of gfc_match_variable to match the iterator variable. Return
|
| 4872 |
|
|
MATCH_NO if not a variable. Remove the reset of the symbol's
|
| 4873 |
|
|
flavor in cleanup.
|
| 4874 |
|
|
|
| 4875 |
|
|
2007-02-16 Tobias Burnus
|
| 4876 |
|
|
|
| 4877 |
|
|
PR fortran/30793
|
| 4878 |
|
|
* trans-decl.c (gfc_generate_function_code): Do not initialize
|
| 4879 |
|
|
pointers to derived components.
|
| 4880 |
|
|
|
| 4881 |
|
|
2007-02-15 Sandra Loosemore
|
| 4882 |
|
|
Brooks Moses
|
| 4883 |
|
|
Lee Millward
|
| 4884 |
|
|
|
| 4885 |
|
|
* trans-expr.c (gfc_conv_power_op): Use build_call_expr.
|
| 4886 |
|
|
(gfc_conv_string_tmp): Likewise.
|
| 4887 |
|
|
(gfc_conv_concat_op): Likewise.
|
| 4888 |
|
|
(gfc_build_compare_string): Likewise.
|
| 4889 |
|
|
(gfc_conv_function_call): Use build_call_list instead of build3.
|
| 4890 |
|
|
|
| 4891 |
|
|
* trans-array.c (gfc_trans_allocate_array_storage): Use
|
| 4892 |
|
|
build_call_expr.
|
| 4893 |
|
|
(gfc_grow_array): Likewise.
|
| 4894 |
|
|
(gfc_trans_array_ctor_element): Likewise.
|
| 4895 |
|
|
(gfc_trans_array_constructor_value): Likewise.
|
| 4896 |
|
|
(gfc_array_allocate): Likewise.
|
| 4897 |
|
|
(gfc_array_deallocate): Likewise.
|
| 4898 |
|
|
(gfc_trans_auto_array_allocation): Likewise.
|
| 4899 |
|
|
(gfc_trans_dummy_array_bias): Likewise.
|
| 4900 |
|
|
(gfc_conv_array_parameter): Likewise.
|
| 4901 |
|
|
(gfc_trans_dealloc_allocated): Likewise.
|
| 4902 |
|
|
(gfc_duplicate_allocatable): Likewise.
|
| 4903 |
|
|
|
| 4904 |
|
|
* trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
|
| 4905 |
|
|
(gfc_trans_omp_flush): Likewise.
|
| 4906 |
|
|
|
| 4907 |
|
|
* trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
|
| 4908 |
|
|
(gfc_trans_pause): Likewise.
|
| 4909 |
|
|
(gfc_trans_stop): Likewise.
|
| 4910 |
|
|
(gfc_trans_character_select): Likewise.
|
| 4911 |
|
|
(gfc_do_allocate): Likewise.
|
| 4912 |
|
|
(gfc_trans_assign_need_temp): Likewise.
|
| 4913 |
|
|
(gfc_trans_pointer_assign_need_temp): Likewise.
|
| 4914 |
|
|
(gfc_trans_forall_1): Likewise.
|
| 4915 |
|
|
(gfc_trans_where_2): Likewise.
|
| 4916 |
|
|
(gfc_trans_allocate): Likewise.
|
| 4917 |
|
|
(gfc_trans_deallocate): Likewise.
|
| 4918 |
|
|
|
| 4919 |
|
|
* trans.c (gfc_trans_runtime_check): Use build_call_expr.
|
| 4920 |
|
|
|
| 4921 |
|
|
* trans-io.c (gfc_trans_open): Use build_call_expr.
|
| 4922 |
|
|
(gfc_trans_close): Likewise.
|
| 4923 |
|
|
(build_filepos): Likewise.
|
| 4924 |
|
|
(gfc_trans_inquire): Likewise.
|
| 4925 |
|
|
(NML_FIRST_ARG): Delete.
|
| 4926 |
|
|
(NML_ADD_ARG): Delete.
|
| 4927 |
|
|
(transfer_namelist_element): Use build_call_expr.
|
| 4928 |
|
|
(build_dt): Likewise.
|
| 4929 |
|
|
(gfc_trans_dt_end): Likewise.
|
| 4930 |
|
|
(transfer_expr): Likewise.
|
| 4931 |
|
|
(transfer_array-desc): Likewise.
|
| 4932 |
|
|
|
| 4933 |
|
|
* trans-decl.c (gfc_generate_function_code): Use build_call_expr.
|
| 4934 |
|
|
(gfc_generate_constructors): Likewise.
|
| 4935 |
|
|
|
| 4936 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
|
| 4937 |
|
|
(gfc_conv_intrinsic_fdate): Likewise.
|
| 4938 |
|
|
(gfc_conv_intrinsic_ttynam): Likewise.
|
| 4939 |
|
|
(gfc_conv_intrinsic_array_transfer): Likewise.
|
| 4940 |
|
|
(gfc_conv_associated): Likewise.
|
| 4941 |
|
|
(gfc_conv_intrinsic_si_kind): Likewise.
|
| 4942 |
|
|
(gfc_conv_intrinsic_trim): Likewise.
|
| 4943 |
|
|
(gfc_conv_intrinsic_repeat: Likewise.
|
| 4944 |
|
|
(gfc_conv_intrinsic_iargc): Likewise.
|
| 4945 |
|
|
|
| 4946 |
|
|
2007-02-14 Jerry DeLisle
|
| 4947 |
|
|
|
| 4948 |
|
|
PR fortran/30779
|
| 4949 |
|
|
* scanner.c (gfc_next_char_literal): Add check for end of file after
|
| 4950 |
|
|
call to advance_line.
|
| 4951 |
|
|
|
| 4952 |
|
|
2007-02-14 Steven G. Kargl
|
| 4953 |
|
|
|
| 4954 |
|
|
PR fortran/30799
|
| 4955 |
|
|
* primary.c (match_logical_constant): Return MATCH_ERROR on invalid
|
| 4956 |
|
|
kind.
|
| 4957 |
|
|
|
| 4958 |
|
|
2007-02-14 Steven G. Kargl
|
| 4959 |
|
|
|
| 4960 |
|
|
* misc.c (gfc_typename): Fix potential buffer overflow.
|
| 4961 |
|
|
|
| 4962 |
|
|
2007-02-13 Paul Thomas
|
| 4963 |
|
|
|
| 4964 |
|
|
PR fortran/30554
|
| 4965 |
|
|
* module.c (read_module): Set pointer_info to referenced if the
|
| 4966 |
|
|
symbol has no namespace.
|
| 4967 |
|
|
|
| 4968 |
|
|
2007-02-12 Nick Clifton
|
| 4969 |
|
|
|
| 4970 |
|
|
* lang.opt: Add Warning attribute to warning options.
|
| 4971 |
|
|
|
| 4972 |
|
|
2007-02-11 Daniel Franke
|
| 4973 |
|
|
|
| 4974 |
|
|
* intrinsic.texi (HOSTNM): Fix typographical error in syntax.
|
| 4975 |
|
|
(SLEEP): Added section and documentation.
|
| 4976 |
|
|
|
| 4977 |
|
|
2007-02-11 Tobias Schlüter
|
| 4978 |
|
|
|
| 4979 |
|
|
PR fortran/30478
|
| 4980 |
|
|
* decl.c (add_init_expr_to_sym): Remove ENUM specific code.
|
| 4981 |
|
|
(variable_decl): Likewise. Rewrap comment.
|
| 4982 |
|
|
(match_attr_spec): Remove ENUM specific code.
|
| 4983 |
|
|
(gfc_match_enum): Fix typo in error message.
|
| 4984 |
|
|
(enumerator_decl): New function.
|
| 4985 |
|
|
(gfc_match_enumerator_def): Use enumerator_decl instead of
|
| 4986 |
|
|
variable_decl. Adapt code accordingly.
|
| 4987 |
|
|
|
| 4988 |
|
|
2007-02-11 Paul Thomas
|
| 4989 |
|
|
|
| 4990 |
|
|
PR fortran/30554
|
| 4991 |
|
|
* module.c (find_symtree_for_symbol): New function to return
|
| 4992 |
|
|
a symtree that is not a "unique symtree" given a symbol.
|
| 4993 |
|
|
(read_module): Do not automatically set pointer_info to
|
| 4994 |
|
|
referenced because this inhibits the generation of a unique
|
| 4995 |
|
|
symtree. Recycle the existing symtree if possible by calling
|
| 4996 |
|
|
find_symtree_for_symbol.
|
| 4997 |
|
|
|
| 4998 |
|
|
PR fortran/30319
|
| 4999 |
|
|
* decl.c (add_init_expr_to_sym): Make new charlen for an array
|
| 5000 |
|
|
constructor initializer.
|
| 5001 |
|
|
|
| 5002 |
|
|
2007-02-10 Richard Henderson , Jakub Jelinek
|
| 5003 |
|
|
|
| 5004 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
|
| 5005 |
|
|
and __emutls_register_common.
|
| 5006 |
|
|
* openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
|
| 5007 |
|
|
* trans-common.c (build_common_decl): Don't check have_tls.
|
| 5008 |
|
|
* trans-decl.c (gfc_finish_var_decl): Likewise.
|
| 5009 |
|
|
* types.def (BT_WORD, BT_FN_PTR_PTR): New.
|
| 5010 |
|
|
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
|
| 5011 |
|
|
|
| 5012 |
|
|
2007-02-09 Tobias Burnus
|
| 5013 |
|
|
|
| 5014 |
|
|
PR fortran/30512
|
| 5015 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
|
| 5016 |
|
|
gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
|
| 5017 |
|
|
|
| 5018 |
|
|
2007-02-09 Francois-Xavier Coudert
|
| 5019 |
|
|
|
| 5020 |
|
|
PR fortran/30720
|
| 5021 |
|
|
* trans-array.c (gfc_trans_create_temp_array): Remove use of the
|
| 5022 |
|
|
function argument. Always generate code for negative extent.
|
| 5023 |
|
|
Simplify said code.
|
| 5024 |
|
|
* trans-array.h (gfc_trans_create_temp_array): Change prototype.
|
| 5025 |
|
|
* trans-expr.c (gfc_conv_function_call): Remove use of last argument
|
| 5026 |
|
|
of gfc_trans_create_temp_array.
|
| 5027 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
|
| 5028 |
|
|
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
|
| 5029 |
|
|
|
| 5030 |
|
|
2007-02-08 Roger Sayle
|
| 5031 |
|
|
|
| 5032 |
|
|
* trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
|
| 5033 |
|
|
mask expression is a compile-time constant (".true." or ".false.").
|
| 5034 |
|
|
|
| 5035 |
|
|
2007-02-04 Francois-Xavier Coudert
|
| 5036 |
|
|
|
| 5037 |
|
|
PR fortran/30611
|
| 5038 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
|
| 5039 |
|
|
arguments only once. Generate check that NCOPIES argument is not
|
| 5040 |
|
|
negative.
|
| 5041 |
|
|
|
| 5042 |
|
|
2007-02-04 Steven G. Kargl
|
| 5043 |
|
|
|
| 5044 |
|
|
PR fortran/30605
|
| 5045 |
|
|
* fortran/invoke.texi: Update documentation.
|
| 5046 |
|
|
* fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
|
| 5047 |
|
|
and -pedantic.
|
| 5048 |
|
|
|
| 5049 |
|
|
2007-02-03 Kazu Hirata
|
| 5050 |
|
|
|
| 5051 |
|
|
* trans-array.c: Fix a comment typo.
|
| 5052 |
|
|
|
| 5053 |
|
|
2007-02-03 Paul Thomas
|
| 5054 |
|
|
|
| 5055 |
|
|
PR fortran/30514
|
| 5056 |
|
|
* array.c (match_array_element_spec): If the length of an array is
|
| 5057 |
|
|
negative, adjust the upper limit to make it zero length.
|
| 5058 |
|
|
|
| 5059 |
|
|
PR fortran/30660
|
| 5060 |
|
|
* resolve.c (pure_function, resolve_function): Initialize name to
|
| 5061 |
|
|
null to clear up build warnings.
|
| 5062 |
|
|
(resolve_fl_variable): Look at components explicitly to check for
|
| 5063 |
|
|
default initializer, rather than using gfc_default_initializer.
|
| 5064 |
|
|
|
| 5065 |
|
|
2007-02-02 Steven G. Kargl
|
| 5066 |
|
|
|
| 5067 |
|
|
PR fortran/30683
|
| 5068 |
|
|
* resolve.c (resolve_generic_f): Check for non-NULL sym.
|
| 5069 |
|
|
|
| 5070 |
|
|
2007-02-02 Roger Sayle
|
| 5071 |
|
|
|
| 5072 |
|
|
* trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
|
| 5073 |
|
|
NON_LVALUE_EXPR nodes and useless type conversions.
|
| 5074 |
|
|
|
| 5075 |
|
|
2007-02-02 Paul Thomas
|
| 5076 |
|
|
|
| 5077 |
|
|
PR fortran/30284
|
| 5078 |
|
|
PR fortran/30626
|
| 5079 |
|
|
* trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
|
| 5080 |
|
|
from function and make sure that substring lengths are
|
| 5081 |
|
|
translated.
|
| 5082 |
|
|
(is_aliased_array): Remove static attribute.
|
| 5083 |
|
|
* trans.c : Add prototypes for gfc_conv_aliased_arg and
|
| 5084 |
|
|
is_aliased_array.
|
| 5085 |
|
|
* trans-io.c (set_internal_unit): Add the post block to the
|
| 5086 |
|
|
arguments of the function. Use is_aliased_array to check if
|
| 5087 |
|
|
temporary is needed; if so call gfc_conv_aliased_arg.
|
| 5088 |
|
|
(build_dt): Pass the post block to set_internal_unit and
|
| 5089 |
|
|
add to the block after all io activiy is done.
|
| 5090 |
|
|
|
| 5091 |
|
|
2007-02-01 Roger Sayle
|
| 5092 |
|
|
|
| 5093 |
|
|
* trans-array.c (gfc_conv_expr_descriptor): We don't need to use
|
| 5094 |
|
|
a temporary array to pass a constant non-character array constructor.
|
| 5095 |
|
|
Generalize the descriptor generation code to handle scalarizer
|
| 5096 |
|
|
"info" without an array reference.
|
| 5097 |
|
|
|
| 5098 |
|
|
2007-02-01 Roger Sayle
|
| 5099 |
|
|
|
| 5100 |
|
|
* dependency.c (gfc_check_dependency) : Implement
|
| 5101 |
|
|
dependency checking for array constructors.
|
| 5102 |
|
|
|
| 5103 |
|
|
2007-02-01 Roger Sayle
|
| 5104 |
|
|
|
| 5105 |
|
|
* trans-stmt.c (compute_overall_iter_number): Document function
|
| 5106 |
|
|
arguments. Generalize "unconditional forall nest with constant
|
| 5107 |
|
|
bounds" optimization to eliminate unconditional inner loops with
|
| 5108 |
|
|
constant bounds.
|
| 5109 |
|
|
|
| 5110 |
|
|
2007-01-31 Tobias Burnus
|
| 5111 |
|
|
|
| 5112 |
|
|
PR fortran/30520
|
| 5113 |
|
|
* interface.c (compare_actual_formal): Check conformance between
|
| 5114 |
|
|
actual and VOLATILE dummy arguments.
|
| 5115 |
|
|
* symbol.c (gfc_add_volatile): Allow setting of VOLATILE
|
| 5116 |
|
|
multiple times in different scopes.
|
| 5117 |
|
|
* decl.c (gfc_match_volatile): Search symbol in host association.
|
| 5118 |
|
|
|
| 5119 |
|
|
2007-01-31 Kazu Hirata
|
| 5120 |
|
|
|
| 5121 |
|
|
* simplify.c, trans-array.c: Fix comment typos.
|
| 5122 |
|
|
|
| 5123 |
|
|
2007-01-30 Ralf Wildenhues
|
| 5124 |
|
|
|
| 5125 |
|
|
* invoke.texi (Code Gen Options): Fix abbreviation typo.
|
| 5126 |
|
|
* intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
|
| 5127 |
|
|
|
| 5128 |
|
|
2007-01-30 Steve Ellcey
|
| 5129 |
|
|
|
| 5130 |
|
|
PR fortran/30432
|
| 5131 |
|
|
* trans-types.c (gfc_get_function_type): Do not add void_type_node
|
| 5132 |
|
|
to empty arg list.
|
| 5133 |
|
|
* trans-decl.c (create_function_arglist): Change assert.
|
| 5134 |
|
|
|
| 5135 |
|
|
2007-01-29 Paul Thomas
|
| 5136 |
|
|
|
| 5137 |
|
|
PR fortran/30554
|
| 5138 |
|
|
* module.c (read_module): If a symbol is excluded by an ONLY
|
| 5139 |
|
|
clause, check to see if there is a symtree already loaded. If
|
| 5140 |
|
|
so, attach the symtree to the pointer_info.
|
| 5141 |
|
|
|
| 5142 |
|
|
2007-01-28 Thomas Koenig
|
| 5143 |
|
|
|
| 5144 |
|
|
PR libfortran/30389
|
| 5145 |
|
|
* gfortran.h: Remove gfc_simplify_init_1.
|
| 5146 |
|
|
* arith.h: Remove third argument from gfc_compare_string.
|
| 5147 |
|
|
* arith.c (gfc_compare_expression): Remove third argument
|
| 5148 |
|
|
from call to gfc_compare_string.
|
| 5149 |
|
|
(gfc_compare_string): Remove third argument xcoll_table.
|
| 5150 |
|
|
Remove use of xcoll_table.
|
| 5151 |
|
|
* misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
|
| 5152 |
|
|
* simplify.c (ascii_table): Remove.
|
| 5153 |
|
|
(xascii_table): Likewise.
|
| 5154 |
|
|
(gfc_simplify_achar): ICE if extract_int fails. Remove use of
|
| 5155 |
|
|
ascii_table. Warn if -Wsurprising and value < 0 or > 127.
|
| 5156 |
|
|
(gfc_simplify_char): ICE if extract_int fails. Error if
|
| 5157 |
|
|
value < 0 or value > 255.
|
| 5158 |
|
|
(gfc_simplify_iachar): Remove use of xascii_table.
|
| 5159 |
|
|
Char values outside of 0..255 are an ICE.
|
| 5160 |
|
|
(gfc_simplify_lge): Remove use of xascii_table.
|
| 5161 |
|
|
(gfc_simplify_lgt): Likewise.
|
| 5162 |
|
|
(gfc_simplify_lle): Likewise.
|
| 5163 |
|
|
(gfc_simplify_llt): Likewise.
|
| 5164 |
|
|
(invert_table): Remove.
|
| 5165 |
|
|
(gfc_simplify_init_1): Remove.
|
| 5166 |
|
|
|
| 5167 |
|
|
2007-01-27 Roger Sayle
|
| 5168 |
|
|
|
| 5169 |
|
|
* trans-stmt.c (forall_info): Replace the next_nest and outer
|
| 5170 |
|
|
fields that previously implemented a doubly-linked list with a
|
| 5171 |
|
|
single prev_nest field (singly-linked list).
|
| 5172 |
|
|
(gfc_trans_nested_forall_loop): The nested_forall_info argument
|
| 5173 |
|
|
now denotes the innermost FORALL in the loop nest.
|
| 5174 |
|
|
(compute_overall_iter_number): Use prev_nest instead of next_nest.
|
| 5175 |
|
|
(gfc_trans_forall_1): Link/cons the new "info" to the head of the
|
| 5176 |
|
|
nested_forall_info linked list. Free the current "info" when done.
|
| 5177 |
|
|
|
| 5178 |
|
|
2007-01-27 Paul Thomas
|
| 5179 |
|
|
|
| 5180 |
|
|
PR fortran/30407
|
| 5181 |
|
|
* trans-expr.c (gfc_conv_operator_assign): New function.
|
| 5182 |
|
|
* trans.h : Add prototype for gfc_conv_operator_assign.
|
| 5183 |
|
|
* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
|
| 5184 |
|
|
a potential operator assignment subroutine. If it is non-NULL
|
| 5185 |
|
|
call gfc_conv_operator_assign instead of the first assignment.
|
| 5186 |
|
|
( gfc_trans_where_2): In the case of an operator assignment,
|
| 5187 |
|
|
extract the argument expressions from the code for the
|
| 5188 |
|
|
subroutine call and pass the symbol to gfc_trans_where_assign.
|
| 5189 |
|
|
resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
|
| 5190 |
|
|
gfc_resolve_forall_body): Resolve the subroutine call for
|
| 5191 |
|
|
operator assignments.
|
| 5192 |
|
|
|
| 5193 |
|
|
2007-01-26 Steven Bosscher
|
| 5194 |
|
|
Steven G. Kargl
|
| 5195 |
|
|
|
| 5196 |
|
|
PR fortran/30278
|
| 5197 |
|
|
* fortran/io.c (next_char): Deal with backslash escaped characters.
|
| 5198 |
|
|
Issue warnings in non -std=gnu cases.
|
| 5199 |
|
|
* fortran/primary.c (next_string_char): Issue warnings in non
|
| 5200 |
|
|
|
| 5201 |
|
|
2007-01-26 Tobias Burnus
|
| 5202 |
|
|
|
| 5203 |
|
|
* lang-specs.h: Add support for .f03 and .F03 extensions.
|
| 5204 |
|
|
* gfortran.texi: Document .f03 extension.
|
| 5205 |
|
|
* options.c (form_from_filename): Recognize .f03.
|
| 5206 |
|
|
|
| 5207 |
|
|
2007-01-25 Manuel Lopez-Ibanez
|
| 5208 |
|
|
|
| 5209 |
|
|
PR fortran/30437
|
| 5210 |
|
|
* lang.opt (Wall): Remove RejectNegative.
|
| 5211 |
|
|
* options.c (gfc_handle_option): Wall can be disabled.
|
| 5212 |
|
|
(set_Wall): Add a parameter for disabling Wall.
|
| 5213 |
|
|
|
| 5214 |
|
|
2007-01-23 Jerry DeLisle
|
| 5215 |
|
|
|
| 5216 |
|
|
PR fortran/30532
|
| 5217 |
|
|
* scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
|
| 5218 |
|
|
|
| 5219 |
|
|
2007-01-23 Paul Thomas
|
| 5220 |
|
|
|
| 5221 |
|
|
PR fortran/30481
|
| 5222 |
|
|
* match.c (gfc_match_namelist): Add check for assumed size character
|
| 5223 |
|
|
in namelist and provide error if found.
|
| 5224 |
|
|
|
| 5225 |
|
|
2007-01-21 Brooks Moses
|
| 5226 |
|
|
|
| 5227 |
|
|
* intrinsic.texi (ACHAR): Added cross-references.
|
| 5228 |
|
|
(CHAR): Put cross-references in alphabetical order.
|
| 5229 |
|
|
(IACHAR): Added cross-references.
|
| 5230 |
|
|
(ICHAR): Added cross-references.
|
| 5231 |
|
|
|
| 5232 |
|
|
2007-01-20 Brooks Moses
|
| 5233 |
|
|
|
| 5234 |
|
|
* intrinsic.texi: Edited all "Syntax" examples to a consistent form.
|
| 5235 |
|
|
(MAXVAL): Corrected description of result characteristics.
|
| 5236 |
|
|
(MINVAL): Same.
|
| 5237 |
|
|
(UMASK): Added documentation.
|
| 5238 |
|
|
|
| 5239 |
|
|
2007-01-20 Steven G. Kargl
|
| 5240 |
|
|
|
| 5241 |
|
|
* openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
|
| 5242 |
|
|
parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
|
| 5243 |
|
|
in the massive whitespace patch.
|
| 5244 |
|
|
|
| 5245 |
|
|
2007-01-20 Roger Sayle
|
| 5246 |
|
|
|
| 5247 |
|
|
* module.c (mio_array_ref): The dimen_type fields of an array ref
|
| 5248 |
|
|
are an enumerated type and can't be read/written directly with a
|
| 5249 |
|
|
call to mio_integer. Instead loop over and cast each element.
|
| 5250 |
|
|
|
| 5251 |
|
|
2007-01-20 Roger Sayle
|
| 5252 |
|
|
|
| 5253 |
|
|
* dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
|
| 5254 |
|
|
i.e. that the ARRAY_REF doesn't mention components.
|
| 5255 |
|
|
* trans-array.c (gfc_constant_array_constructor_p): Export external
|
| 5256 |
|
|
function renamed from constant_array_constructor_p.
|
| 5257 |
|
|
(gfc_build_constant_array_constructor): Export.
|
| 5258 |
|
|
(gfc_trans_array_constructor): Update call to the renamed function
|
| 5259 |
|
|
constant_array_constructor_p.
|
| 5260 |
|
|
* trans-array.h (gfc_constant_array_constructor_p): Prototype here.
|
| 5261 |
|
|
(gfc_build_constant_array_constructor): Likewise.
|
| 5262 |
|
|
* trans-expr.c (gfc_build_memcpy_call): New helper function split
|
| 5263 |
|
|
out from gfc_trans_array_copy.
|
| 5264 |
|
|
(gfc_trans_array_copy): Use gfc_build_memcpy_call.
|
| 5265 |
|
|
(gfc_trans_array_constructor_copy): New function to optimize
|
| 5266 |
|
|
assigning an entire array from a constant array constructor.
|
| 5267 |
|
|
(gfc_trans_assignment): Call gfc_trans_array_constructor_copy
|
| 5268 |
|
|
when appropriate.
|
| 5269 |
|
|
|
| 5270 |
|
|
2007-01-20 Roger Sayle
|
| 5271 |
|
|
|
| 5272 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
|
| 5273 |
|
|
implementation for the SIGN intrinsic with integral operands.
|
| 5274 |
|
|
(gfc_conv_intrinsic_minmax): Fix whitespace.
|
| 5275 |
|
|
|
| 5276 |
|
|
2007-01-20 Francois-Xavier Coudert
|
| 5277 |
|
|
|
| 5278 |
|
|
* gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
|
| 5279 |
|
|
* lang.opt: Add -fallow-leading-underscore.
|
| 5280 |
|
|
* match.c (gfc_match_name): Allow leading underscore in symbol
|
| 5281 |
|
|
name if -fallow-leading-underscore is used.
|
| 5282 |
|
|
* symbol.c (gfc_get_default_type): Add special case for symbol
|
| 5283 |
|
|
names beginning with an underscore.
|
| 5284 |
|
|
* trans-decl.c (gfc_get_extern_function_decl,
|
| 5285 |
|
|
gfc_build_intrinsic_function_decls): Add _gfortran prefix to
|
| 5286 |
|
|
library symbols selected_int_kind, selected_real_kind and
|
| 5287 |
|
|
all specifics.
|
| 5288 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
| 5289 |
|
|
new -fallow-leading-underscore option.
|
| 5290 |
|
|
|
| 5291 |
|
|
2007-01-20 Francois-Xavier Coudert
|
| 5292 |
|
|
|
| 5293 |
|
|
PR fortran/30446
|
| 5294 |
|
|
* options.c (gfc_handle_module_path_options): Path used in -J
|
| 5295 |
|
|
option is now added to the module search path.
|
| 5296 |
|
|
|
| 5297 |
|
|
2007-01-20 Richard Guenther
|
| 5298 |
|
|
|
| 5299 |
|
|
PR fortran/30223
|
| 5300 |
|
|
* f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
|
| 5301 |
|
|
cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
|
| 5302 |
|
|
sincos builtins if the target has sincos.
|
| 5303 |
|
|
|
| 5304 |
|
|
2007-01-19 Brooks Moses
|
| 5305 |
|
|
|
| 5306 |
|
|
* intrinsic.texi (MATMUL): Corrected a typo.
|
| 5307 |
|
|
(MAX): Separated @var arguments.
|
| 5308 |
|
|
(MIN): Separated @var arguments.
|
| 5309 |
|
|
|
| 5310 |
|
|
2007-01-19 Brooks Moses
|
| 5311 |
|
|
|
| 5312 |
|
|
* intrinsic.texi: general whitespace cleanup.
|
| 5313 |
|
|
(menu): Added TIME8, removed UNMASK.
|
| 5314 |
|
|
(AINT): Clarified argument requirement.
|
| 5315 |
|
|
(ANINT): Clarified argument requirement.
|
| 5316 |
|
|
(CEILING): Clarified argument requirement.
|
| 5317 |
|
|
(CHAR): Clarified argument requirement.
|
| 5318 |
|
|
(CMPLX): Clarified argument requirement.
|
| 5319 |
|
|
(DCMPLX): Clarified argument requirement.
|
| 5320 |
|
|
(FGET): Line rewrapping.
|
| 5321 |
|
|
(FLOOR): Clarified argument requirement.
|
| 5322 |
|
|
(GMTIME): Added documentation.
|
| 5323 |
|
|
(IAND): Added cross-reference.
|
| 5324 |
|
|
(IBCLR): Added cross-reference.
|
| 5325 |
|
|
(IBSET): Added cross-reference.
|
| 5326 |
|
|
(IEOR): Added cross-reference.
|
| 5327 |
|
|
(INT): Collapsed examples, clarified argument requirement.
|
| 5328 |
|
|
(IOR): Added cross-references.
|
| 5329 |
|
|
(LEN_TRIM): Corrected result kind.
|
| 5330 |
|
|
(LINK): Added cross-reference.
|
| 5331 |
|
|
(LLT): Removed "documentation pending".
|
| 5332 |
|
|
(LOGICAL): Added documentation.
|
| 5333 |
|
|
(LSHIFT): Added documentation.
|
| 5334 |
|
|
(LTIME): Added documentation.
|
| 5335 |
|
|
(MATMUL): Added documentation.
|
| 5336 |
|
|
(MAX): Added documentation.
|
| 5337 |
|
|
(MAXLOC): Added documentation.
|
| 5338 |
|
|
(MAXVAL): Added documentation.
|
| 5339 |
|
|
(MERGE): Added documentation.
|
| 5340 |
|
|
(MIN): Added documentation.
|
| 5341 |
|
|
(MINLOC): Added documentation.
|
| 5342 |
|
|
(MINVAL): Added documentation.
|
| 5343 |
|
|
(MVBITS): Moved to correct place, added documentation.
|
| 5344 |
|
|
(NOT): Added documentation.
|
| 5345 |
|
|
(PERROR): Added documentation.
|
| 5346 |
|
|
(RAN): Moved to correct place, added documentation.
|
| 5347 |
|
|
(REAL): Clarified argument requirement.
|
| 5348 |
|
|
(RENAME): Added documentation.
|
| 5349 |
|
|
(RSHIFT): Clarified argument requirement.
|
| 5350 |
|
|
(SIGN): Corrected table specification.
|
| 5351 |
|
|
(SYMLNK): Added documentation.
|
| 5352 |
|
|
(SYSTEM): Added documentation.
|
| 5353 |
|
|
(TIME): Added documentation.
|
| 5354 |
|
|
(TIME8): Added section and documentation.
|
| 5355 |
|
|
(UNMASK): Removed erroneous section.
|
| 5356 |
|
|
|
| 5357 |
|
|
2007-01-18 H.J. Lu
|
| 5358 |
|
|
|
| 5359 |
|
|
* trans-stmt.c (compute_overall_iter_number): Fix a typo.
|
| 5360 |
|
|
|
| 5361 |
|
|
2007-01-18 Roger Sayle
|
| 5362 |
|
|
|
| 5363 |
|
|
* trans-expr.c (copyable_array_p): Consider user derived types without
|
| 5364 |
|
|
allocatable components to be copyable.
|
| 5365 |
|
|
|
| 5366 |
|
|
2007-01-18 Roger Sayle
|
| 5367 |
|
|
|
| 5368 |
|
|
* trans-stmt.c (compute_overall_iter_number): Enhance to precompute
|
| 5369 |
|
|
the number of interations in unconditional FORALL nests with constant
|
| 5370 |
|
|
bounds.
|
| 5371 |
|
|
|
| 5372 |
|
|
2007-01-18 Francois-Xavier Coudert
|
| 5373 |
|
|
Tobias Burnus
|
| 5374 |
|
|
|
| 5375 |
|
|
PR libfortran/29649
|
| 5376 |
|
|
* gfortran.h (gfc_option_t): Add flag_dump_core.
|
| 5377 |
|
|
* lang.opt: Add -fdump-core option.
|
| 5378 |
|
|
* invoke.texi: Document the new options.
|
| 5379 |
|
|
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
| 5380 |
|
|
options to the call to set_std.
|
| 5381 |
|
|
* options.c (gfc_init_options, gfc_handle_option): Set the
|
| 5382 |
|
|
new options.
|
| 5383 |
|
|
|
| 5384 |
|
|
2007-01-17 Paul Thomas
|
| 5385 |
|
|
|
| 5386 |
|
|
PR fortran/30476
|
| 5387 |
|
|
* module.c (load_generic_interfaces): Make the marking of the
|
| 5388 |
|
|
symbol as ambiguous conditional on the module names being
|
| 5389 |
|
|
different.
|
| 5390 |
|
|
(write_generic): Ensure that the generic interface has a
|
| 5391 |
|
|
non-NULL module field.
|
| 5392 |
|
|
|
| 5393 |
|
|
2007-01-16 Roger Sayle
|
| 5394 |
|
|
|
| 5395 |
|
|
PR fortran/30404
|
| 5396 |
|
|
* trans-stmt.c (forall_info): Remove pmask field.
|
| 5397 |
|
|
(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
|
| 5398 |
|
|
NVAR covers all the interation variables in the current forall_info.
|
| 5399 |
|
|
Add an extra OUTER parameter, which specified the loop header in
|
| 5400 |
|
|
which to place mask index initializations.
|
| 5401 |
|
|
(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
|
| 5402 |
|
|
Change the semantics of MASK_FLAG to only control the mask in the
|
| 5403 |
|
|
innermost loop.
|
| 5404 |
|
|
(compute_overall_iter_number): Optimize the trivial case of a
|
| 5405 |
|
|
top-level loop having a constant number of iterations. Update
|
| 5406 |
|
|
call to gfc_trans_nested_forall_loop. Calculate the number of
|
| 5407 |
|
|
times the inner loop will be executed, not to size of the
|
| 5408 |
|
|
iteration space.
|
| 5409 |
|
|
(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
|
| 5410 |
|
|
sizeof(type) == 1. Tidy up.
|
| 5411 |
|
|
(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
|
| 5412 |
|
|
to gfc_trans_nested_forall_loop.
|
| 5413 |
|
|
(gfc_trans_pointer_assign_need_temp): Likewise.
|
| 5414 |
|
|
(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
|
| 5415 |
|
|
LENVAR local variables. Split mask allocation into a separate
|
| 5416 |
|
|
hunk/pass from mask population. Use allocate_temp_for_forall_nest
|
| 5417 |
|
|
to allocate the FORALL mask with the correct size. Update calls
|
| 5418 |
|
|
to gfc_trans_nested_forall_loop.
|
| 5419 |
|
|
(gfc_evaluate_where_mask): Update call to
|
| 5420 |
|
|
gfc_trans_nested_forall_loop.
|
| 5421 |
|
|
(gfc_trans_where_2): Likewise.
|
| 5422 |
|
|
|
| 5423 |
|
|
2007-01-15 Paul Thomas
|
| 5424 |
|
|
|
| 5425 |
|
|
PR fortran/28172
|
| 5426 |
|
|
* trans-stmt.c (gfc_trans_call): If it does not have one, get
|
| 5427 |
|
|
a backend_decl for an alternate return.
|
| 5428 |
|
|
|
| 5429 |
|
|
PR fortran/29389
|
| 5430 |
|
|
* resolve.c (pure_function): Statement functions are pure. Note
|
| 5431 |
|
|
that this will have to recurse to comply fully with F95.
|
| 5432 |
|
|
|
| 5433 |
|
|
PR fortran/29712
|
| 5434 |
|
|
* resolve.c (resolve_function): Only a reference to the final
|
| 5435 |
|
|
dimension of an assumed size array is an error in an inquiry
|
| 5436 |
|
|
function.
|
| 5437 |
|
|
|
| 5438 |
|
|
PR fortran/30283
|
| 5439 |
|
|
* resolve.c (resolve_function): Make sure that the function
|
| 5440 |
|
|
expression has a type.
|
| 5441 |
|
|
|
| 5442 |
|
|
2007-01-14 Paul Thomas
|
| 5443 |
|
|
|
| 5444 |
|
|
PR fortran/30410
|
| 5445 |
|
|
* trans-decl.c (gfc_sym_mangled_function_id): Module, external
|
| 5446 |
|
|
symbols must not have the module name prepended.
|
| 5447 |
|
|
|
| 5448 |
|
|
2007-01-11 Thomas Koenig
|
| 5449 |
|
|
|
| 5450 |
|
|
PR libfortran/30415
|
| 5451 |
|
|
* iresolve.c (gfc_resolve_maxloc): If the rank
|
| 5452 |
|
|
of the return array is nonzero and we process an
|
| 5453 |
|
|
integer array smaller than default kind, coerce
|
| 5454 |
|
|
the array to default integer.
|
| 5455 |
|
|
* iresolve.c (gfc_resolve_minloc): Likewise.
|
| 5456 |
|
|
|
| 5457 |
|
|
2007-01-11 Brooks Moses
|
| 5458 |
|
|
|
| 5459 |
|
|
* simplify.c: Update copyright to 2007.
|
| 5460 |
|
|
* scanner.c: Same.
|
| 5461 |
|
|
|
| 5462 |
|
|
2007-01-11 Francois-Xavier Coudert
|
| 5463 |
|
|
|
| 5464 |
|
|
PR fortran/30430
|
| 5465 |
|
|
* scanner.c (gfc_release_include_path): Free gfc_option.module_dir
|
| 5466 |
|
|
only once!
|
| 5467 |
|
|
|
| 5468 |
|
|
2007-01-09 Brooks Moses
|
| 5469 |
|
|
|
| 5470 |
|
|
* simplify.c (gfc_simplify_ibclr): Fix POS comparison.
|
| 5471 |
|
|
(gfc_simplify_ibset): Same.
|
| 5472 |
|
|
|
| 5473 |
|
|
2007-01-09 Brooks Moses
|
| 5474 |
|
|
|
| 5475 |
|
|
PR 30381
|
| 5476 |
|
|
PR 30420
|
| 5477 |
|
|
* simplify.c (convert_mpz_to_unsigned): New function.
|
| 5478 |
|
|
(convert_mpz_to_signed): New function, largely based on
|
| 5479 |
|
|
twos_complement().
|
| 5480 |
|
|
(twos_complement): Removed.
|
| 5481 |
|
|
(gfc_simplify_ibclr): Add conversions to and from an
|
| 5482 |
|
|
unsigned representation before bit-twiddling.
|
| 5483 |
|
|
(gfc_simplify_ibset): Same.
|
| 5484 |
|
|
(gfc_simplify_ishftc): Add checks for overly large
|
| 5485 |
|
|
constant arguments, only check the third argument if
|
| 5486 |
|
|
it's present, carry over high bits into the result as
|
| 5487 |
|
|
appropriate, and perform the final conversion back to
|
| 5488 |
|
|
a signed representation using the correct sign bit.
|
| 5489 |
|
|
(gfc_simplify_not): Removed unnecessary masking.
|
| 5490 |
|
|
|
| 5491 |
|
|
2007-01-09 Paul Thomas
|
| 5492 |
|
|
|
| 5493 |
|
|
PR fortran/30408
|
| 5494 |
|
|
* resolve.c (resolve_code): Use the code->expr character length
|
| 5495 |
|
|
directly to set length of llen.
|
| 5496 |
|
|
|
| 5497 |
|
|
2007-01-09 Jerry DeLisle
|
| 5498 |
|
|
|
| 5499 |
|
|
PR fortran/30408
|
| 5500 |
|
|
* lang.opt: Add Wcharacter_truncation option.
|
| 5501 |
|
|
* options.c (gfc_init_options): Initialize
|
| 5502 |
|
|
gfc_option.warn_character_truncation to zero.
|
| 5503 |
|
|
(gfc_handle_option): Add case for OPT_Wcharacter_truncation.
|
| 5504 |
|
|
|
| 5505 |
|
|
2007-01-08 Steven G. Kargl
|
| 5506 |
|
|
|
| 5507 |
|
|
* interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
|
| 5508 |
|
|
iresolve.c, match.c: Update Copyright years. Whitespace.
|
| 5509 |
|
|
|
| 5510 |
|
|
2007-01-08 Richard Guenther
|
| 5511 |
|
|
|
| 5512 |
|
|
* trans-io.c (transfer_array_desc): Use build_int_cst instead
|
| 5513 |
|
|
of build_int_cstu.
|
| 5514 |
|
|
|
| 5515 |
|
|
2007-01-08 Roger Sayle
|
| 5516 |
|
|
|
| 5517 |
|
|
* trans-array.c (constant_array_constructor_p): New function to
|
| 5518 |
|
|
determine whether an array constructor consists only of constant
|
| 5519 |
|
|
elements, and if so return it's size.
|
| 5520 |
|
|
(gfc_build_constant_array_constructor): Construct a statically
|
| 5521 |
|
|
initialized gfortran array for a given EXPR_ARRAY.
|
| 5522 |
|
|
(gfc_trans_constant_array_constructor): Efficiently scalarize
|
| 5523 |
|
|
a constant array constructor.
|
| 5524 |
|
|
(gfc_trans_array_constructor): Tidy up use of CONST_STRING.
|
| 5525 |
|
|
Special case scalarization of constant array constructors, all of
|
| 5526 |
|
|
whose elements are specified, using constant_array_constructor_p
|
| 5527 |
|
|
and gfc_trans_constant_array_constructor.
|
| 5528 |
|
|
(gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
|
| 5529 |
|
|
before adding it to index, to avoid creating a NON_LVALUE_EXPR.
|
| 5530 |
|
|
|
| 5531 |
|
|
2007-01-08 Kazu Hirata
|
| 5532 |
|
|
|
| 5533 |
|
|
gfortran.texi: Fix typos.
|
| 5534 |
|
|
|
| 5535 |
|
|
2007-01-07 Steven G. Kargl
|
| 5536 |
|
|
|
| 5537 |
|
|
* decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
|
| 5538 |
|
|
convert.c: Update Copyright dates. Fix whitespace.
|
| 5539 |
|
|
|
| 5540 |
|
|
2007-01-07 Bernhard Fischer
|
| 5541 |
|
|
|
| 5542 |
|
|
* data.c (gfc_assign_data_value): Fix whitespace.
|
| 5543 |
|
|
|
| 5544 |
|
|
2007-01-07 Bernhard Fischer
|
| 5545 |
|
|
|
| 5546 |
|
|
* trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
|
| 5547 |
|
|
Commentary typo fix.
|
| 5548 |
|
|
|
| 5549 |
|
|
2007-01-07 Bernhard Fischer
|
| 5550 |
|
|
|
| 5551 |
|
|
PR fortran/27698
|
| 5552 |
|
|
* match.c (gfc_match_name): Print diagnostics for invalid
|
| 5553 |
|
|
character in names.
|
| 5554 |
|
|
|
| 5555 |
|
|
2007-01-06 Steven G. Kargl
|
| 5556 |
|
|
|
| 5557 |
|
|
* array.c: Fix whitespace in comment table.
|
| 5558 |
|
|
|
| 5559 |
|
|
2007-01-06 Steven G. Kargl
|
| 5560 |
|
|
|
| 5561 |
|
|
* array.c, bbt.c, check.c: Update copyright years. Whitespace.
|
| 5562 |
|
|
|
| 5563 |
|
|
2007-01-06 Steven G. Kargl
|
| 5564 |
|
|
|
| 5565 |
|
|
* arith.c: Update copyright years. Whitespace.
|
| 5566 |
|
|
|
| 5567 |
|
|
2007-01-05 Roger Sayle
|
| 5568 |
|
|
|
| 5569 |
|
|
* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
|
| 5570 |
|
|
array assignments split out from gfc_trans_assignment.
|
| 5571 |
|
|
(gfc_trans_array_copy): New function to implement array to array
|
| 5572 |
|
|
copies via calls to __builtin_memcpy.
|
| 5573 |
|
|
(copyable_array_p): New helper function to identify an array of
|
| 5574 |
|
|
simple/POD types, that may be copied/assigned using memcpy.
|
| 5575 |
|
|
(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
|
| 5576 |
|
|
whole array assignments considered suitable by copyable_array_p.
|
| 5577 |
|
|
Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
|
| 5578 |
|
|
|
| 5579 |
|
|
2007-01-05 Roger Sayle
|
| 5580 |
|
|
|
| 5581 |
|
|
* trans-array.c (gfc_trans_array_constructor_value): Make the
|
| 5582 |
|
|
static const "data" array as TREE_READONLY.
|
| 5583 |
|
|
* trans-stmt.c (gfc_trans_character_select): Likewise.
|
| 5584 |
|
|
|
| 5585 |
|
|
2007-01-05 Roger Sayle
|
| 5586 |
|
|
|
| 5587 |
|
|
* trans-array.c (gfc_conv_loop_setup): Test whether the loop
|
| 5588 |
|
|
stride is one, to avoid fold_build2 introducing a useless
|
| 5589 |
|
|
NON_LVALUE_EXPR node.
|
| 5590 |
|
|
|
| 5591 |
|
|
2007-01-05 Tobias Burnus
|
| 5592 |
|
|
|
| 5593 |
|
|
* symbol.c (check_conflict): Fix error message.
|
| 5594 |
|
|
|
| 5595 |
|
|
2007-01-05 Paul Thomas
|
| 5596 |
|
|
|
| 5597 |
|
|
PR fortran/23232
|
| 5598 |
|
|
* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
|
| 5599 |
|
|
functions to signal that a DATA statement is being matched.
|
| 5600 |
|
|
(gfc_match_data): Call gfc_set_in_match_data on entry and on
|
| 5601 |
|
|
exit.
|
| 5602 |
|
|
* gfortran.h : Add prototypes for above.
|
| 5603 |
|
|
* expr.c (check_init_expr): Avoid check on parameter or
|
| 5604 |
|
|
variable if gfc_in_match_data is true.
|
| 5605 |
|
|
(gfc_match_init_expr): Do not call error on non-reduction of
|
| 5606 |
|
|
expression if gfc_in_match_data is true.
|
| 5607 |
|
|
|
| 5608 |
|
|
PR fortran/27996
|
| 5609 |
|
|
PR fortran/27998
|
| 5610 |
|
|
* decl.c (gfc_set_constant_character_len): Add boolean arg to
|
| 5611 |
|
|
flag array constructor resolution. Warn if string is being
|
| 5612 |
|
|
truncated. Standard dependent error if string is padded. Set
|
| 5613 |
|
|
new arg to false for all three calls to
|
| 5614 |
|
|
gfc_set_constant_character_len.
|
| 5615 |
|
|
* match.h : Add boolean arg to prototype for
|
| 5616 |
|
|
gfc_set_constant_character_len.
|
| 5617 |
|
|
* gfortran.h : Add warn_character_truncation to gfc_options.
|
| 5618 |
|
|
* options.c (set_Wall): Set warn_character_truncation if -Wall
|
| 5619 |
|
|
is set.
|
| 5620 |
|
|
* resolve.c (resolve_code): Warn if rhs string in character
|
| 5621 |
|
|
assignment has to be truncated.
|
| 5622 |
|
|
* array.c (gfc_resolve_character_array_constructor): Set new
|
| 5623 |
|
|
argument to true for call to gfc_set_constant_character_len.
|
| 5624 |
|
|
|
| 5625 |
|
|
2007-01-05 Tobias Burnus
|
| 5626 |
|
|
|
| 5627 |
|
|
PR fortran/29624
|
| 5628 |
|
|
* interface.c (compare_parameter_intent): New function.
|
| 5629 |
|
|
(check_intents): Support pointer intents.
|
| 5630 |
|
|
* symbol.c (check_conflict): Support pointer intents,
|
| 5631 |
|
|
better conflict_std message.
|
| 5632 |
|
|
* expr.c (gfc_check_assign,gfc_check_pointer_assign):
|
| 5633 |
|
|
Support pointer intents.
|
| 5634 |
|
|
* resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
|
| 5635 |
|
|
Support pointer intents.
|
| 5636 |
|
|
|
| 5637 |
|
|
2007-01-03 Brooks Moses
|
| 5638 |
|
|
|
| 5639 |
|
|
PR 30371
|
| 5640 |
|
|
* check.c (gfc_check_kill_sub): Add checks for non-scalar
|
| 5641 |
|
|
arguments.
|
| 5642 |
|
|
|
| 5643 |
|
|
2007-01-04 Brooks Moses
|
| 5644 |
|
|
|
| 5645 |
|
|
* intrinsic.texi: Minor cleanup, reflowing overlong
|
| 5646 |
|
|
paragraphs, and correcting whitespace.
|
| 5647 |
|
|
|
| 5648 |
|
|
2007-01-04 Brooks Moses
|
| 5649 |
|
|
|
| 5650 |
|
|
* intrinsic.texi (LBOUND): Add documentation.
|
| 5651 |
|
|
(LGE): Add documentation.
|
| 5652 |
|
|
(LGT): Add documentation.
|
| 5653 |
|
|
(LINK): Add documentation.
|
| 5654 |
|
|
(LLE): Add documentation.
|
| 5655 |
|
|
(LLT): Add documentation.
|
| 5656 |
|
|
(LNBLNK): Add documentation.
|
| 5657 |
|
|
(UBOUND): Add documentation.
|
| 5658 |
|
|
(UNLINK): Add documentation.
|
| 5659 |
|
|
|
| 5660 |
|
|
2007-01-04 Brooks Moses
|
| 5661 |
|
|
|
| 5662 |
|
|
* intrinsic.texi (IAND): Clarify argument specifications.
|
| 5663 |
|
|
(IBCLR): Add documentation.
|
| 5664 |
|
|
(IBITS): Add documentation.
|
| 5665 |
|
|
(IBSET): Add documentation.
|
| 5666 |
|
|
(IEOR): Add documentation.
|
| 5667 |
|
|
(IERRNO): Add documentation.
|
| 5668 |
|
|
(INDEX): Add documentation.
|
| 5669 |
|
|
(IOR): Add documentation.
|
| 5670 |
|
|
(ISHFT): Add documentation.
|
| 5671 |
|
|
(ISHFTC): Add documentation.
|
| 5672 |
|
|
(KILL): Add documentation.
|
| 5673 |
|
|
(LEN_TRIM): Add documentation.
|
| 5674 |
|
|
|
| 5675 |
|
|
2007-01-04 Brooks Moses
|
| 5676 |
|
|
|
| 5677 |
|
|
PR 30235
|
| 5678 |
|
|
* interface.c (compare_actual_formal): check for
|
| 5679 |
|
|
alternate returns when iterating over non-present
|
| 5680 |
|
|
arguments.
|
| 5681 |
|
|
|
| 5682 |
|
|
2007-01-04 Brooks Moses
|
| 5683 |
|
|
|
| 5684 |
|
|
* invoke.texi: Update manpage copyright to include 2007.
|
| 5685 |
|
|
|
| 5686 |
|
|
2007-01-04 Brooks Moses
|
| 5687 |
|
|
|
| 5688 |
|
|
* gfortran.texi: Update copyright to include 2007.
|
| 5689 |
|
|
* intrinsic.texi: Update copyright to include 2007.
|
| 5690 |
|
|
* invoke.texi: Update copyright to include 2007.
|
| 5691 |
|
|
|
| 5692 |
|
|
2007-01-02 Tobias Burnus
|
| 5693 |
|
|
Jakub Jelinek
|
| 5694 |
|
|
|
| 5695 |
|
|
PR fortran/30276
|
| 5696 |
|
|
* scanner.c (open_included_file): Revert patch.
|
| 5697 |
|
|
(gfc_open_included_file): Support absolute pathnames.
|
| 5698 |
|
|
(gfc_open_intrinsic_module): Support absolute pathnames.
|
| 5699 |
|
|
|
| 5700 |
|
|
2007-01-03 Brooks Moses
|
| 5701 |
|
|
|
| 5702 |
|
|
* gfortran.texi (GNU Fortran and GCC): Rewrite
|
| 5703 |
|
|
|
| 5704 |
|
|
2007-01-03 Brooks Moses
|
| 5705 |
|
|
|
| 5706 |
|
|
* gfortran.texi (Introduction): Lower "Part I:
|
| 5707 |
|
|
Introduction" to a chapter, renumber Parts II and III to
|
| 5708 |
|
|
Parts I and II.
|
| 5709 |
|
|
* intrinsic.texi (Introduction): Rename to "Introduction
|
| 5710 |
|
|
to Intrinsics" to avoid conflict with the new chapter.
|
| 5711 |
|
|
|
| 5712 |
|
|
2007-01-03 Brooks Moses
|
| 5713 |
|
|
|
| 5714 |
|
|
* intrinsic.texi (Introduction): Rewrite first paragraph.
|
| 5715 |
|
|
|
| 5716 |
|
|
2007-01-03 Brooks Moses
|
| 5717 |
|
|
|
| 5718 |
|
|
* invoke.texi (OpenMP): Added index entry.
|
| 5719 |
|
|
* gfortran.texi (title page): Removed erroneous '*'.
|
| 5720 |
|
|
|
| 5721 |
|
|
2007-01-03 Brooks Moses
|
| 5722 |
|
|
|
| 5723 |
|
|
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
|
| 5724 |
|
|
to description.
|
| 5725 |
|
|
(Extensions): Miscellaneous minor rewriting and copyediting.
|
| 5726 |
|
|
(BOZ-literal constants): Renamed from Hexadecimal constants.
|
| 5727 |
|
|
(Hollerith constants support): Added explanation and
|
| 5728 |
|
|
suggestions for standard-conforming modern equivalents.
|
| 5729 |
|
|
|
| 5730 |
|
|
2007-01-03 Brooks Moses
|
| 5731 |
|
|
|
| 5732 |
|
|
* intrinsic.texi: Improvements to index entries; change
|
| 5733 |
|
|
@findex entries to @cindex entries.
|
| 5734 |
|
|
* invoke.texi: Standardize and improve index entries.
|
| 5735 |
|
|
* gfortran.texi: Fix @code in one index entry.
|
| 5736 |
|
|
|
| 5737 |
|
|
2007-01-03 Brooks Moses
|
| 5738 |
|
|
|
| 5739 |
|
|
* invoke.texi: Change @code-type macros to appropriate
|
| 5740 |
|
|
variants (@command, @option, etc.)
|
| 5741 |
|
|
* gfortran.texi: Same.
|
| 5742 |
|
|
|
| 5743 |
|
|
2007-01-03 Brooks Moses
|
| 5744 |
|
|
|
| 5745 |
|
|
* intrinsic.texi: Various minor cleanups.
|
| 5746 |
|
|
|
| 5747 |
|
|
2007-01-02 Steven G. Kargl
|
| 5748 |
|
|
|
| 5749 |
|
|
* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
|
| 5750 |
|
|
build_int_cst.
|
| 5751 |
|
|
|
| 5752 |
|
|
2007-01-02 Tobias Burnus
|
| 5753 |
|
|
|
| 5754 |
|
|
PR fortran/30276
|
| 5755 |
|
|
* scanner.c (open_included_file): Support full-path filenames.
|
| 5756 |
|
|
|
| 5757 |
|
|
2007-01-02 Paul Thomas
|
| 5758 |
|
|
|
| 5759 |
|
|
PR fortran/20896
|
| 5760 |
|
|
* interface.c (check_sym_interfaces): Remove call to
|
| 5761 |
|
|
resolve_global_procedure.
|
| 5762 |
|
|
gfortran.h : Remove prototype for resolve_global_procedure.
|
| 5763 |
|
|
resolve.c (resolve_global_procedure): Add static attribute
|
| 5764 |
|
|
to function declaration.
|
| 5765 |
|
|
|
| 5766 |
|
|
2007-01-01 Steven G. Kargl
|
| 5767 |
|
|
|
| 5768 |
|
|
* ChangeLog: Copy to ...
|
| 5769 |
|
|
* ChangeLog-2006: here.
|
| 5770 |
|
|
|
| 5771 |
|
|
|
| 5772 |
|
|
Copyright (C) 2007 Free Software Foundation, Inc.
|
| 5773 |
|
|
|
| 5774 |
|
|
Copying and distribution of this file, with or without modification,
|
| 5775 |
|
|
are permitted in any medium without royalty provided the copyright
|
| 5776 |
|
|
notice and this notice are preserved.
|