summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gfortran.fortran-torture
Commit message (Collapse)AuthorAgeFilesLines
...
* 2007-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-06-291-1/+1
| | | | | | | * gfortran.fortran-torture/compile/inline_1.f90: Fix test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126131 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-06-28 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2007-06-281-0/+15
| | | | | | | | | | | | | | | PR tree-opt/32417 * tree-affine.c (aff_combination_add_elt): Handle pointer addition specially. 2007-06-28 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/32417 * gfortran.fortran-torture/compile/pr32417.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126082 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-06-20 Andrew Pinski <andrew_pinski@playstation.sony.com>rguenth2007-06-201-0/+16
| | | | | | | | | | | | Richard Guenther <rguenther@suse.de> PR fortran/32140 * trans.c (gfc_build_addr_expr): Use the correct types. * gfortran.fortran-torture/execute/pr32140.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125886 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-05-191-1/+4
| | | | | | | | PR libfortran/31964 * gfortran.fortran-torture/execute/intrinsic_bitops.f90: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124847 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-02-151-1/+1
| | | | | | | * gfortran.fortran-torture/execute/math.f90: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121984 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/burnus2007-01-262-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | 2007-01-26 Tobias Burnus <burnus@net-b.de> * lang-specs.h: Add support for .f03 and .F03 extensions. * gfortran.texi: Document .f03 extension. * options.c (form_from_filename): Recognize .f03. testsuite/ 2007-01-26 Tobias Burnus <burnus@net-b.de> * gfortran.dg/gomp/gomp.exp: Support .f03 extension. * gfortran.dg/vect/vect.exp: Ditto. * gfortran.dg/dg.exp: Ditto. * gfortran.fortran-torture/execute/execute.exp: Ditto. * gfortran.fortran-torture/compile/compile.exp: Ditto. libgomp/ 2007-01-26 Tobias Burnus <burnus@net-b.de> * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121201 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-17 Roger Sayle <roger@eyesopen.com>sayle2006-12-171-0/+9
| | | | | | | | | | | | | | | | | | Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/30207 * dependency.c (gfc_full_array_ref_p): New function to test whether the given array ref specifies the entire array. (gfc_dep_resolver): Use gfc_full_array_ref_p to analyze AR_FULL array refs against AR_SECTION array refs, and vice versa. * dependency.h (gfc_full_array_ref_p): Prototype here. * trans-array.c (gfc_conv_expr_descriptor): Use gfc_full_array_ref_p. * gfortran.fortran-torture/execute/where21.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119990 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-12 Richard Guenther <rguenther@suse.de>rguenth2006-12-121-0/+14
| | | | | | | | | | | PR middle-end/30147 * fold-const.c (fold_read_from_constant_string): Only fold read from constant string if the result type is integer. * gfortran.fortran-torture/compile/pr30147.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119776 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-25 Andrew Pinski <pinskia@gmail.com>pinskia2006-11-261-0/+4
| | | | | | | | | | | | | | | | PR fortran/29982 * trans-expr.c (gfc_conv_expr_reference): Strip off NOP_EXPRs. 2006-11-25 Andrew Pinski <pinskia@gmail.com> PR fortran/29982 * gfortran.fortran-torture/compile/parameter_3.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119218 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-25 Andrew Pinski <pinskia@gmail.com>pinskia2006-11-251-0/+19
| | | | | | | | | | | | | | | PR fortran/29951 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Change to call memcpy instead of creating a VIEW_CONVERT_EXRP. 2006-11-25 Andrew Pinski <pinskia@gmail.com> PR fortran/29951 * gfortran.fortran-torture/execute/transfer2.f90: New test git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119211 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29973fxcoudert2006-11-251-8/+0
| | | | | | | | * gfortran.fortran-torture/execute/specifics.f90: Remove test for CHAR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119197 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2006-11-151-0/+17
| | | | | | | | | | | | | | | | | | PR tree-opt/29788 * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down to what is the const decl is a place holder for. 2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/29788 * gfortran.fortran-torture/compile/inline_1.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118861 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2006-11-131-0/+22
| | | | | | | | | | | | | | | | | PR fortran/26994 * gfortran.fortran-torture/compile/transfer-1.f90: New testcase. 2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com> PR fortran/26994 * trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the new CONST_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118761 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-30 Andrew Pinski <pinskia@gmail.com>pinskia2006-10-301-0/+10
| | | | | | | | | | | | | | | PR fortran/29410 * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Change over to create VIEW_CONVERT_EXPR instead of using an ADDR_EXPR, a cast and then an indirect reference 2006-10-30 Andrew Pinski <pinskia@gmail.com> PR Fortran/29410 * gfortran.fortran-torture/execute/transfer1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118186 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-24 Richard Guenther <rguenther@suse.de>rguenth2006-10-241-0/+17
| | | | | | | | | | | PR tree-optimization/29567 * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic for TRUTH_NOT_EXPR. Clarify comments. * gfortran.fortran-torture/compile/vrp_1.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117997 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/16580fxcoudert2006-10-071-2/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/29288 * gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a gfc_intrinsic_sym structure is filled. (gfc_intrinsic_actual_ok): New function. (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s, add_sym_5s): Intrinsic subroutines are not allowed as actual arguments, so we remove argument actual_ok. (add_functions): Correct the values for actual_ok of all intrinsics. (add_subroutines): Remove the actual_ok argument, which was never used. * gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype. * gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype. * gcc/fortran/resolve.c (resolve_actual_arglist): Check whether an intrinsic used as an argument list is allowed there. * gcc/fortran/iresolve.c (gfc_resolve_index_func): New function. (gfc_resolve_len): Change intrinsic function name to agree with libgfortran. * gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add new case, because some specific intrinsics take 3 arguments. * gcc/fortran/intrinsic.texi: DIMAG is a GNU extension. * libgfortran/Makefile.am: Add the new files to the build process, and rules to build them. * libgfortran/Makefile.in: Regenerate. * libgfortran/m4/misc_specifics.m4: New file. * libgfortran/m4/specific.m4: Add new special cases for function with complex argument and real result, like abs_c* and aimag_c*. * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for AIMAG, ASINH, ACOSH and ATANH. * libgfortran/generated/_aimag_c4.F90: New file. * libgfortran/generated/_aimag_c8.F90: New file. * libgfortran/generated/_asinh_r10.F90: New file. * libgfortran/generated/_acosh_r16.F90: New file. * libgfortran/generated/_aimag_c10.F90: New file. * libgfortran/generated/_atanh_r16.F90: New file. * libgfortran/generated/_acosh_r4.F90: New file. * libgfortran/generated/_acosh_r8.F90: New file. * libgfortran/generated/_asinh_r4.F90: New file. * libgfortran/generated/_asinh_r8.F90: New file. * libgfortran/generated/_asinh_r16.F90: New file. * libgfortran/generated/_atanh_r4.F90: New file. * libgfortran/generated/_atanh_r8.F90: New file. * libgfortran/generated/_acosh_r10.F90: New file. * libgfortran/generated/misc_specifics.F90: New file. * libgfortran/generated/_aimag_c16.F90: New file. * libgfortran/generated/_atanh_r10.F90: New file. * gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_1.f90: Add tests for using all possible intrinsics as actual arguments. * gcc/testsuite/gfortran.dg/specifics_2.f90: New file. * gcc/testsuite/gfortran.dg/specifics_3.f90: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117534 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/18791fxcoudert2006-09-291-3/+88
| | | | | | | | | | | | | | | | | | | | | | | * gfortran.dg/specifics_1.f90: New test. * gfortran.fortran-torture/execute/specifics.f90: Add tests for complex specifics. * m4/specific.m4: Special-case cabs so that its return type is real. Special-case conjg so that their suffices are _4, _8, _10 and _16 instead of _c4, _c8, _c10 and _c16. * intrinsics/f2c_specifics.F90: Special-case conjg functions so that their suffices are _4 and _8 instead of _c4 and _c8. * generated/_conjg_c4.F90: Regenerate. * generated/_conjg_c8.F90: Regenerate. * generated/_conjg_c10.F90: Regenerate. * generated/_conjg_c16.F90: Regenerate. * generated/_abs_c4.F90: Regenerate. * generated/_abs_c8.F90: Regenerate. * generated/_abs_c10.F90: Regenerate. * generated/_abs_c16.F90: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117317 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-09-07 Steven G. Kargl <kargls@comcast.net>kargl2006-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | * gfortran.fortran-torture/compile/data_1.f90: Fix integer oveflow in integer literal constant. * gfortran.dg/enum_8.f90: Ditto. * gfortran.dg/g77/20030326-1.f: Ditto. 2006-09-07 Steven G. Kargl <kargls@comcast.net> * gfortran.h (gfc_integer_info): Eliminate max_int. * arith.c (gfc_arith_init_1): Remove initialization of max_int. (gfc_arith_done_1): Remove clearing of max_int. (gfc_check_integer_range): Fix range chekcing of overflow. * simplify.c (gfc_simplify_not): Construct mask that was max_int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116753 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-09-07 Feng Wang <fengwang@nudt.edu.cn>kargl2006-09-071-17/+13
| | | | | | | | | * gfortran.fortran-torture/execute/intrinsic_set_exponent.f90: Fix nonconformance usage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116752 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-07-23 Steven Bosscher <steven@gcc.gnu.org>steven2006-07-231-1/+1
| | | | | | | | | PR debug/25468 * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks. Cache the last found '\0' marker to avoid quadratic behavior. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115685 138bc75d-0d04-0410-961f-82ee72b054a4
* * f95-lang.c (gfc_get_alias_set): New function.jakub2006-03-271-0/+225
| | | | | | | | | (LANG_HOOKS_GET_ALIAS_SET): Define. * gfortran.fortran-torture/execute/equiv_5.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112416 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily worklaw2006-03-241-0/+11
| | | | | | | | | | | around bug in immediate-use iterator. * gcc.c-torture/compile/pr26833.c: New test. * gfortran.fortran-torture/compile/pr26806.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112348 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.dg/advance.f90, gfortran.dg/backspace_2.f,ghazi2006-03-212-0/+2
| | | | | | | | | | | | gfortran.dg/comma.f, gfortran.dg/direct_io_2.f90, gfortran.dg/tl_editing.f90, gfortran.dg/unf_io_convert_1.f90, gfortran.dg/write_back.f, gfortran.fortran-torture/execute/inquire_1.f90, gfortran.fortran-torture/execute/inquire_3.f90: Delete temp file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112258 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.dg/direct_io_1.f90, gfortran.dg/iostat_2.f90,ghazi2006-03-187-1/+7
| | | | | | | | | | | | | | | | | | gfortran.dg/open_new.f90, gfortran.dg/open_readonly_1.f90, gfortran.dg/pr16935.f90, gfortran.dg/pr20954.f, gfortran.dg/read_many_1.f, gfortran.dg/unf_io_convert_2.f90, gfortran.fortran-torture/execute/direct_io.f90, gfortran.fortran-torture/execute/inquire_2.f90, gfortran.fortran-torture/execute/inquire_4.f90, gfortran.fortran-torture/execute/list_read_1.f90, gfortran.fortran-torture/execute/open_replace.f90, gfortran.fortran-torture/execute/slash_edit.f90, gfortran.fortran-torture/execute/unopened_unit_1.f90: Delete temporary files from testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112201 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-13 Paul Thomas <pault@gcc.gnu.org>pault2006-03-131-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/25378 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and modify the condition for updating it, to implement the F2003 requirement for all(mask) is false. 2006-03-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/25378 * libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for updating it, to implement the F2003 requirement for all(mask).eq.false. * libgfortran/m4/maxloc1.m4: The same. * libgfortran/m4/iforeach.m4: The same. * libgfortran/m4/minloc0.m4: The same. * libgfortran/m4/maxloc0.m4: The same. * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others. * libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others. 2006-03-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/25378 * gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more permuatations of mask and index. * testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec. that the position returned for an all false mask && condition is zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112028 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-01 Paul Thomas <pault@gcc.gnu.org>pault2006-03-014-0/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * iresolve.c (gfc_resolve_dot_product): Remove any difference in treatment of logical types. * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): New function. PR fortran/26393 * trans-decl.c (gfc_get_symbol_decl): Extend condition that symbols must be referenced to include unreferenced symbols in an interface body. PR fortran/20938 * trans-array.c (gfc_conv_resolve_dependencies): Add call to gfc_are_equivalenced_arrays. * symbol.c (gfc_free_equiv_infos, gfc_free_equiv_lists): New functions. (gfc_free_namespace): Call them. * trans-common.c (copy_equiv_list_to_ns): New function. (add_equivalences): Call it. * gfortran.h: Add equiv_lists to gfc_namespace and define gfc_equiv_list and gfc_equiv_info. * dependency.c (gfc_are_equivalenced_arrays): New function. (gfc_check_dependency): Call it. * dependency.h: Prototype for gfc_are_equivalenced_arrays. 2006-03-01 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/logical_dot_product.f90: New test. PR fortran/26393 * gfortran.dg/used_interface_ref.f90: New test. PR fortran/20938 * gfortran.dg/dependency_2.f90: New test. * gfortran.fortran-torture/execute/where17.f90: New test. * gfortran.fortran-torture/execute/where18.f90: New test. * gfortran.fortran-torture/execute/where19.f90: New test. * gfortran.fortran-torture/execute/where20.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111616 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.fortran-torture/execute/where_10.f90: New test case.sayle2006-02-177-0/+134
| | | | | | | | | | | | | * gfortran.fortran-torture/execute/where_11.f90: Likewise. * gfortran.fortran-torture/execute/where_12.f90: Likewise. * gfortran.fortran-torture/execute/where_13.f90: Likewise. * gfortran.fortran-torture/execute/where_14.f90: Likewise. * gfortran.fortran-torture/execute/where_15.f90: Likewise. * gfortran.fortran-torture/execute/where_16.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111204 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2006-01-071-1/+1
| | | | | | | | | | | | | | | | | | | * decl.c (gfc_match_function_decl): Correctly error out in case of omitted function argument list. testsuite/ * gfortran.dg/func_decl_1.f90: New. * gfortran.dg/array_alloc_1.f90: Fix wrong function declaration. * gfortran.dg/array_alloc_2.f90: Likewise. * gfortran.dg/char_result_8.f90: Likewise. * gfortran.dg/dup_save_1.f90: Likewise. * gfortran.dg/dup_save_2.f90: Likewise. * gfortran.dg/f2c_6.f90: Likewise. * gfortran.dg/f2c_7.f90: Likewise. * gfortran.dg/func_result_2.f90: Likewise. * gfortran.fortran-torture/execute/pr23373-2.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109451 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/jakub2005-11-211-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/14943 PR fortran/21647 * Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def. * dump-parse-tree.c (gfc_show_code_node): Dump c->block for EXEC_{READ,WRITE,IOLENGTH} nodes. * io.c (terminate_io, match_io, gfc_match_inquire): Put data transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block. * resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}. * trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor, ioparm_list_format, ioparm_library_return, ioparm_iostat, ioparm_exist, ioparm_opened, ioparm_number, ioparm_named, ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in, ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len, ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len, ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len, ioparm_position, ioparm_position_len, ioparm_action, ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad, ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance, ioparm_advance_len, ioparm_name, ioparm_name_len, ioparm_internal_unit, ioparm_internal_unit_len, ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len, ioparm_direct, ioparm_direct_len, ioparm_formatted, ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len, ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len, ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name, ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg, ioparm_iomsg_len, ioparm_var): Remove. (enum ioparam_type, enum iofield_type, enum iofield, enum iocall): New enums. (gfc_st_parameter_field, gfc_st_parameter): New typedefs. (st_parameter, st_parameter_field, iocall): New variables. (ADD_FIELD, ADD_STRING): Remove. (dt_parm, dt_post_end_block): New variables. (gfc_build_st_parameter): New function. (gfc_build_io_library_fndecls): Use it. Initialize iocall array rather than ioparm_*, add extra first arguments to the function types. (set_parameter_const): New function. (set_parameter_value): Add type argument, return a bitmask. Changed to set a field in automatic structure variable rather than set a field in a global _gfortran_ioparm variable. (set_parameter_ref): Likewise. If requested var has different size than what field should point to, call with a temporary and then copy into the user variable. Add postblock argument. (set_string): Remove var_len argument, add type argument, return a bitmask. Changed to set fields in automatic structure variable rather than set a field in a global _gfortran_ioparm variable. (set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments, add var argument. Return a bitmask. Changed to set fields in automatic structure variable rather than set a field in a global _gfortran_ioparm variable. (set_flag): Removed. (io_result): Add var argument. Changed to read common.flags field from automatic structure variable and bitwise AND it with 3. (set_error_locus): Add var argument. Changed to set fields in automatic structure variable rather than set a field in a global _gfortran_{filename,line} variables. (gfc_trans_open): Use gfc_start_block rather than gfc_init_block. Create a temporary st_parameter_* structure. Adjust callers of all above mentioned functions. Pass address of the temporary variable as first argument to the generated function call. Use iocall array rather than ioparm_* separate variables. (gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise. (build_dt): Likewise. Change first argument to tree from tree *. Don't dereference code->ext.dt if last_dt == INQUIRE. Emit IOLENGTH argument setup here. Set dt_parm/dt_post_end_block variables and gfc_trans_code the nested data transfer commands in code->block. (gfc_trans_iolength): Just set last_dt and call build_dt immediately. (transfer_namelist_element): Pass address of dt_parm variable to generated functions. Use iocall array rather than ioparm_* separate variables. (gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind, gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array rather than ioparm_* separate variables. (gfc_trans_dt_end): Likewise. Pass address of dt_parm variable as first argument to generated function. Adjust io_result caller. Prepend dt_post_end_block before io_result code. (transfer_expr): Use iocall array rather than ioparm_* separate variables. Pass address of dt_parm variables as first argument to generated functions. * ioparm.def: New file. gcc/testsuite/ PR fortran/24774 * gfortran.dg/inquire_9.f90: New test. PR fortran/21647 * gfortran.fortran-torture/execute/inquire_5.f90: New test. libgfortran/ PR fortran/24774 PR fortran/14943 PR fortran/21647 * Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths, add -D_GNU_SOURCE. * Makefile.in: Regenerated. * acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD, LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros. * configure.ac: Add them. * configure: Rebuilt. * config.h.in: Rebuilt. * libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1. * libgfortran.h (library_start, show_locus, internal_error, generate_error, find_option): Add st_parameter_common * argument. (library_end): Change into a dummy macro. * io/io.h: Include gthr.h. (SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK. (CHARACTER): Remove define. (st_parameter, global_t): Remove typedef. (ioparm, g, ionml, current_unit): Remove variables. (init_error_stream): Remove prototype. (CHARACTER1, CHARACTER2): Define. (st_parameter_common, st_parameter_open, st_parameter_close, st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New typedefs. (IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR, IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END, IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK, IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS, IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK, IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION, IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS, IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED, IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED, IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT, IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS, IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK, IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION, IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD, IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL, IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED, IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ, IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE, IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE, IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH, IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE, IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME, IOPARM_DT_IONML_SET): Define. (gfc_unit): Add lock, waiting and close fields. Change file from flexible array member into pointer to char. (open_external): Add st_parameter_open * argument. (find_file, file_exists): Add file and file_len arguments. (flush_all_units): New prototype. (max_offset, unit_root, unit_lock): New variable. (is_internal_unit, is_array_io, next_array_record, parse_format, next_format, unget_format, format_error, read_block, write_block, next_record, convert_real, read_a, read_f, read_l, read_x, read_radix, read_decimal, list_formatted_read, finish_list_read, namelist_read, namelist_write, write_a, write_b, write_d, write_e, write_en, write_es, write_f, write_i, write_l, write_o, write_x, write_z, list_formatted_write, get_unit): Add st_parameter_dt * argument. (insert_unit): Remove prototype. (find_or_create_unit, unlock_unit): New prototype. (new_unit): Return gfc_unit *. Add st_parameter_open * and gfc_unit * arguments. (free_fnodes): Remove prototype. (free_format_data): New prototype. (scratch): Remove. (init_at_eol): Remove prototype. (free_ionml): New prototype. (inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked): New inline functions. * io/unit.c (max_offset, unit_root, unit_lock): New variables. (insert): Adjust os_error caller. (insert_unit): Made static. Allocate memory here, initialize lock and after inserting it return it, locked. (delete_unit): Adjust for deletion of g. (find_unit_1): New function. (find_unit): Use it. (find_or_create_unit): New function. (get_unit): Add dtp argument, change meaning of the int argument as creation request flag. Adjust for different st_* calling conventions, lock internal unit's lock before returning it and removal of g. Call find_unit_1 instead of find_unit. (is_internal_unit, is_array_io): Add dtp argument, adjust for removal of most of global variables. (init_units): Initialize unit_lock. Adjust insert_unit callers and adjust for g removal. (close_unit_1): New function. (close_unit): Use it. (unlock_unit): New function. (close_units): Lock unit_lock, use close_unit_1 rather than close_unit. * io/close.c (st_close): Add clp argument. Adjust for new st_* calling conventions and internal function API changes. * io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush): Add fpp argument. Adjust for new st_* calling conventions and internal function API changes. (formatted_backspace, unformatted_backspace): Likewise. Add u argument. * io/open.c (edit_modes, st_open): Add opp argument. Adjust for new st_* calling conventions and internal function API changes. (already_open): Likewise. If not HAVE_UNLINK_OPEN_FILE, unlink scratch file. Instead of calling close_unit just call sclose, free u->file if any and clear a few u fields before calling new_unit. (new_unit): Return gfc_unit *. Add opp and u arguments. Adjust for new st_* calling conventions and internal function API changes. Don't allocate unit here, rather than work with already created unit u already locked on entry. In case of failure, close_unit it. * io/unix.c: Include unix.h. (BUFFER_SIZE, unix_stream): Moved to unix.h. (unit_to_fd): Add unlock_unit call. (tempfile): Add opp argument, use its fields rather than ioparm. (regular_file): Likewise. (open_external): Likewise. Only unlink file if fd >= 0. (init_error_stream): Add error argument, set structure it points to rather than filling static variable and returning its address. (FIND_FILE0_DECL, FIND_FILE0_ARGS): Define. (find_file0): Use them. Don't crash if u->s == NULL. (find_file): Add file and file_len arguments, use them instead of ioparm. Add locking. Pass either an array of 2 struct stat or file and file_len pair to find_file0. (flush_all_units_1, flush_all_units): New functions. (file_exists): Add file and file_len arguments, use them instead of ioparm. * io/unix.h: New file. * io/lock.c (ioparm, g, ionml): Remove variables. (library_start): Add cmp argument, adjust for new st_* calling conventions. (library_end): Remove. (free_ionml): New function. * io/inquire.c (inquire_via_unit, inquire_via_filename, st_inquire): Add iqp argument, adjust for new st_* calling conventions and internal function API changes. * io/format.c (FARRAY_SIZE): Decrease to 64. (fnode_array, format_data): New typedefs. (avail, array, format_string, string, error, saved_token, value, format_string_len, reversion_ok, saved_format): Remove variables. (colon_node): Add const. (free_fnode, free_fnodes): Remove. (free_format_data): New function. (next_char, unget_char, get_fnode, format_lex, parse_format_list, format_error, parse_format, revert, unget_format, next_test): Add fmt or dtp arguments, pass it all around, adjust for internal function API changes and adjust for removal of global variables. (next_format): Likewise. Constify return type. (next_format0): Constify return type. * io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos, skips, pending_spaces, scratch, line_buffer, advance_status, transfer): Remove variables. (transfer_integer, transfer_real, transfer_logical, transfer_character, transfer_complex, transfer_array, current_mode, read_sf, read_block, read_block_direct, write_block, write_block_direct, unformatted_read, unformatted_write, type_name, write_constant_string, require_type, formatted_transfer_scalar, us_read, us_write, pre_position, data_transfer_init, next_record_r, next_record_w, next_record, finalize_transfer, iolength_transfer, iolength_transfer_init, st_iolength, st_iolength_done, st_read, st_read_done, st_write, st_write_done, st_set_nml_var, st_set_nml_var_dim, next_array_record): Add dtp argument, pass it all around, adjust for internal function API changes and removal of global variables. * io/list_read.c (repeat_count, saved_length, saved_used, input_complete, at_eol, comma_flag, last_char, saved_string, saved_type, namelist_mode, nml_read_error, value, parse_err_msg, nml_err_msg, prev_nl): Remove variables. (push_char, free_saved, next_char, unget_char, eat_spaces, eat_separator, finish_separator, nml_bad_return, convert_integer, parse_repeat, read_logical, read_integer, read_character, parse_real, read_complex, read_real, check_type, list_formatted_read_scalar, list_formatted_read, finish_list_read, find_nml_node, nml_untouch_nodes, nml_match_name, nml_query, namelist_read): Add dtp argument, pass it all around, adjust for internal function API changes and removal of global variables. (nml_parse_qualifier): Likewise. Add parse_err_msg argument. (nml_read_obj): Likewise. Add pprev_nl, nml_err_msg, clow and chigh arguments. (nml_get_obj_data): Likewise. Add pprev_nl and nml_err_msg arguments. (init_at_eol): Removed. * io/read.c (convert_real, read_l, read_a, next_char, read_decimal, read_radix, read_f, read_x): Add dtp argument, pass it all around, adjust for internal function API changes and removal of global variables. (set_integer): Adjust internal_error caller. * io/write.c (no_leading_blank, nml_delim): Remove variables. (write_a, calculate_sign, calculate_G_format, output_float, write_l, write_float, write_int, write_decimal, write_i, write_b, write_o, write_z, write_d, write_e, write_f, write_en, write_es, write_x, write_char, write_logical, write_integer, write_character, write_real, write_complex, write_separator, list_formatted_write_scalar, list_formatted_write, nml_write_obj, namelist_write): Add dtp argument, pass it all around, adjust for internal function API changes and removal of global variables. (extract_int, extract_uint, extract_real): Adjust internal_error callers. * runtime/fpu.c (_GNU_SOURCE): Don't define here. * runtime/error.c: Include ../io/unix.h. (filename, line): Remove variables. (st_printf): Pass address of a local variable to init_error_stream. (show_locus): Add cmp argument. Use fields it points to rather than filename and line variables. (os_error, runtime_error): Remove show_locus calls. (internal_error): Add cmp argument. Pass it down to show_locus. (generate_error): Likewise. Use flags bitmask instead of non-NULL check for iostat and iomsg parameter presence, adjust for st_* calling convention changes. * runtime/stop.c (stop_numeric, stop_string): Remove show_locus calls. * runtime/pause.c (pause_numeric, pause_string): Likewise. * runtime/string.c: Include ../io/io.h. (find_option): Add cmp argument. Pass it down to generate_error. * intrinsics/flush.c (recursive_flush): Remove. (flush_i4, flush_i8): Use flush_all_units. Add unlock_unit call. * intrinsics/rand.c: Include ../io/io.h. (rand_seed_lock): New variable. (srand, irand): Add locking. (init): New constructor function. * intrinsics/random.c: Include ../io/io.h. (random_lock): New variable. (random_r4, random_r8, arandom_r4, arandom_r8): Add locking. (random_seed): Likewise. open failed if fd < 0. Set i correctly. (init): New constructor function. * intrinsics/system_clock.c (tp0, t0): Remove. (system_clock_4, system_clock_8): Don't subtract tp0/t0 from current time, use just integer arithmetics. * intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add unlock_unit calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107328 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-02 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-11-023-0/+37
| | | | | | | | | | | | | | | | | | | | | | | PR fortran/18157 * gfortran.fortran-torture/compile/defined_type_1.f90: New test. * gfortran.fortran-torture/compile/defined_type_2.f90: New test. * gfortran.fortran-torture/compile/defined_type_3.f90: New test. 2005-11-02 Andrew Pinski <pinskia@physics.uc.edu> PR fortran/18157 * trans-array.c (gfc_conv_resolve_dependencies): Use the correct type for the temporary array. * trans-expr.c (gfc_trans_assignment): Pass lss instead of lss_section to gfc_conv_resolve_dependencies to get the correct type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106396 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-11-021-2/+2
| | | | | | | | | | | | * decl.c (gfc_match_entry): Function entries don't need an argument list if there's no RESULT clause. testsuite/ * gfortran.fortran-torture/execute/entry_9.f90: Revert previous change (r106358). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106361 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-11-011-2/+2
| | | | | | | | | | | | | PR fortran/24008 * decl.c (gfc_match_entry): Function entries need an argument list. testsuite/ PR fortran/24008 * gfortran.dg/entry_5.f90: New. * gfortran.fortran-torture/execute/entry_9.f90: Fix syntax error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106358 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-10-305-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-10-30 Gaurav Gautam <gauravga@noida.hcltech.com> Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * arith.c (gfc_enum_initializer): New function. (gfc_check_integer_range): Made extern. * decl.c (enumerator_history): New typedef. (last_initializer, enum_history, max_enum): New variables. (create_enum_history, gfc_free_enum_history): New functions. (add_init_expr_to_sym): Call create_enum_history if parsing ENUM. (variable_decl): Modified to parse enumerator definition. (match_attr_spec): Add PARAMETER attribute to ENUMERATORs. (gfc_match_data_decl): Issues error, if match_type_spec do not return desired return values. (set_enum_kind, gfc_match_enum, gfc_match_enumerator_def): New functions. (gfc_match_end): Deal with END ENUM. * gfortran.h (gfc_statement): ST_ENUM, ST_ENUMERATOR, ST_END_ENUM added. (symbol_attribute): Bit field for enumerator added. (gfc_options): Add fshort_enums. (gfc_enum_initializer, gfc_check_integer_range): Add prototypes. * options.c: Include target.h (gfc_init_options): Initialize fshort_enums. (gfc_handle_option): Deal with fshort_enums. * parse.c (decode_statement): Match ENUM and ENUMERATOR statement. (gfc_ascii_statement): Deal with the enumerator statements. (parse_enum): New function to parse enum construct. (parse_spec): Added case ST_ENUM. * parse.h (gfc_compile_state): COMP_ENUM added. (gfc_match_enum, gfc_match_enumerator_def, gfc_free_enum_history): Prototype added. * symbol.c (gfc_copy_attr): Copy enumeration attribute. * lang.opt (fshort-enums): Option added. testsuite/ 2005-10-30 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.dg/enum_10.f90, gfortran.dg/enum_10.c: New test. 2005-10-30 Gaurav Gautam <gauravga@noida.hcltech.com> * gfortran.dg/enum_1.f90, gfortran.dg/enum_2.f90, gfortran.dg/enum_3.f90, gfortran.dg/enum_4.f90, gfortran.dg/enum_5.f90, gfortran.dg/enum_6.f90, gfortran.dg/enum_7.f90, gfortran.dg/enum_8.f90, gfortran.dg/enum_9.f90, gfortran.fortran-torture/compile/enum_1.f90, gfortran.fortran-torture/execute/enum_1.f90, gfortran.fortran-torture/execute/enum_2.f90, gfortran.fortran-torture/execute/enum_3.f90, gfortran.fortran-torture/execute/enum_4.f90: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-08 Andrew Pinski <pinskia@physics.uc.edu>pinskia2005-10-081-0/+43
| | | | | | | | | | | | | PR target/24136 * config/rs6000/darwin.md (movdf_low_si): Remove early clobber. Rewrite for no need for the early clobber. 2005-10-07 Andrew Pinski <pinskia@physics.uc.edu> PR target/24136 * gfortran.fortran-torture/compile/pr24136.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105123 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-10-05 Richard Guenther <rguenther@suse.de>rguenth2005-10-051-0/+0
| | | | | | | | | | PR fortran/24176 * parse.c (gfc_parse_file): Exit early for empty files. * gfortran.fortran-torture/compile/empty.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104984 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/18518jakub2005-09-271-0/+23
| | | | | | | | | | | | * trans-common.c (build_equiv_decl): Add IS_SAVED argument. If it is true, set TREE_STATIC on the decl. (create_common): If any symbol in equivalence has SAVE attribute, pass true as last argument to build_equiv_decl. * gfortran.fortran-torture/execute/save_2.f90: New decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104712 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/23677jakub2005-09-261-0/+29
| | | | | | | | | | | | | | | * symbol.c (gfc_is_var_automatic): Return true if character length is non-constant rather than constant. * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic here. * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size to 0 for -fno-automatic. * gfortran.fortran-torture/execute/save_1.f90: New test. * gfortran.dg/save_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104661 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/23663jakub2005-09-201-0/+16
| | | | | | | | | | * primary.c (match_actual_arg): Handle ENTRY the same way as FUNCTION. * gfortran.fortran-torture/execute/entry_11.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104453 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/23373rsandifo2005-09-082-0/+30
| | | | | | | | * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary descriptor if the rhs is not a null pointer or variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104029 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/19269rsandifo2005-09-071-0/+16
| | | | | | | | * simplify.c (gfc_simplify_transpose): Set the result's typespec from the source, not the first element of the return value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103982 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-29 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-08-301-1/+1
| | | | | | | | * gfortran.fortran-torture/execute/intrinsic_count.f90: Fix array dimension to avoid correct end-of-file error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103626 138bc75d-0d04-0410-961f-82ee72b054a4
* 005-08-12 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-08-121-1/+1
| | | | | | | | * gfortran.fortran-torture/execute/character_passing.f90: Fix comment typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103042 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-09 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-08-091-1/+2
| | | | | | | | * gfortran/fortran.torture/execute/character_passing.f90: Fix types for LSAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102925 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/18833jakub2005-08-063-0/+113
| | | | | | | | | | | | | | | | | | | PR fortran/20850 * primary.c (match_varspec): If equiv_flag, don't look at sym's attributes, call gfc_match_array_ref up to twice and don't do any substring or component processing. * resolve.c (resolve_equivalence): Transform REF_ARRAY into REF_SUBSTRING or nothing if needed. Check that substrings don't have zero length. * gfortran.dg/equiv_1.f90: New test. * gfortran.dg/equiv_2.f90: New test. * gfortran.fortran-torture/execute/equiv_2.f90: New test. * gfortran.fortran-torture/execute/equiv_3.f90: New test. * gfortran.fortran-torture/execute/equiv_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102801 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/20063jakub2005-07-251-0/+6
| | | | | | | | | | * data.c (gfc_assign_data_value_range): Call create_character_initializer if last_ts is a character type. * gfortran.fortran-torture/execute/data_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102349 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-07-241-1/+9
| | | | | | | | * gfortran.fortran-torture/execute/nan_inf_fmt.f90: Revise test to include case of field width of zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102325 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-17 Jerry DeLisle <jvdelisle@verizon.net>jvdelisle2005-07-181-2/+2
| | | | | | | | * gfortran.fortran-torture/execute/nan_inf_fmt.f90: Change case of field width of 8 to +Inf and -Inf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102124 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex beforejakub2005-07-111-0/+88
| | | | | | | | | | | | the outermost loop. (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2): Don't clear maskindexes here. * gfortran.fortran-torture/execute/forall_7.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101865 138bc75d-0d04-0410-961f-82ee72b054a4
* * primary.c (gfc_match_rvalue): Handle ENTRY the same wayjakub2005-07-081-0/+13
| | | | | | | | | as FUNCTION. * gfortran.fortran-torture/execute/entry_10.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101758 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-07 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2005-07-071-0/+28
| | | | | | | | | | | | | | | | | | | | | | | PR libfortran/21594 * intrinsics/eoshift0.c: If abs(shift) > len, fill the the whole array with the boundary value, but don't overrun it. * intrinsics/eoshift2.c: Likewise. * m4/eoshift1.m4: Likewise. * m4/eoshift3.m4: Likewise. * generated/eoshift1_4.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/eoshift3_8.c: Regenerated. 2005-07-07 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/21594 * gfortran.fortran-torture/execute/intrinsic_eoshift.f90: Add test cases where the shift length is greater than the array length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101738 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud