summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gfortran.fortran-torture/execute
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.fortran-torture/execute/intrinsic_nearest.x: Skip AIX.dje2013-07-191-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201057 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-05-27 Richard Biener <rguenther@suse.de>rguenth2013-05-271-0/+33
| | | | | | | | | | | PR tree-optimization/57396 * tree-affine.c (double_int_constant_multiple_p): Properly return false for val == 0 and div != 0. * gfortran.fortran-torture/execute/pr57396.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199350 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-12 Janus Weil <janus@gcc.gnu.org>janus2013-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/56261 * gfortran.h (gfc_explicit_interface_required): New prototype. * expr.c (gfc_check_pointer_assign): Check if an explicit interface is required in a proc-ptr assignment. * interface.c (check_result_characteristics): Extra check. * resolve.c (gfc_explicit_interface_required): New function. (resolve_global_procedure): Use new function 'gfc_explicit_interface_required'. Do a full interface check. 2013-04-12 Janus Weil <janus@gcc.gnu.org> PR fortran/56261 * gfortran.dg/auto_char_len_4.f90: Add -pedantic. Changed error. * gfortran.dg/assumed_rank_4.f90: Modified error wording. * gfortran.dg/block_11.f90: Fix invalid test case. * gfortran.dg/function_types_3.f90: Add new error message. * gfortran.dg/global_references_1.f90: Ditto. * gfortran.dg/import2.f90: Remove unneeded parts. * gfortran.dg/import6.f90: Fix invalid test case. * gfortran.dg/proc_decl_2.f90: Ditto. * gfortran.dg/proc_decl_9.f90: Ditto. * gfortran.dg/proc_decl_18.f90: Ditto. * gfortran.dg/proc_ptr_40.f90: New. * gfortran.dg/whole_file_7.f90: Modified error wording. * gfortran.dg/whole_file_16.f90: Ditto. * gfortran.dg/whole_file_17.f90: Add -pedantic. * gfortran.dg/whole_file_18.f90: Modified error wording. * gfortran.dg/whole_file_20.f03: Ditto. * gfortran.fortran-torture/execute/intrinsic_associated.f90: Fix invalid test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197922 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-16 Richard Biener <rguenther@suse.de>rguenth2013-01-161-0/+31
| | | | | | | | | | | | | | PR tree-optimization/54767 PR tree-optimization/53465 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465. (vrp_visit_phi_node): For PHI arguments coming via backedges drop all symbolical range information. (execute_vrp): Compute backedges. * gfortran.fortran-torture/execute/pr54767.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195238 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2013-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2011 and/or 2012.jakub2013-01-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194903 138bc75d-0d04-0410-961f-82ee72b054a4
* gfortran testsuite: implicitly cleanup-modulesaldot2012-03-151-64/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: 2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update documentation. gcc/testsuite/ChangeLog: 2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * gfortran.fortran-torture/compile/compile.exp: Simplify. * gfortran.fortran-torture/execute/execute.exp: Likewise. * lib/gcc-dg.exp (cleanup-modules): Move to .. * lib/fortran-modules.exp: .. this new file. Adjust users. * lib/gfortran-dg.exp (gfortran-dg-runtest, gfortran-dg-debug-runtest): Call cleanup-modules. * lib/fortran-torture.exp (fortran-torture-execute, fortran-torture): Likewise. * gfortran.dg/coarray/caf.exp: Likewise. * lib/lto.exp: Likewise. * gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules. * gfortran.dg/class_4b.f03: Likewise. * gfortran.dg/class_4c.f03: Likewise. * gfortran.dg/class_45a.f03: Likewise. * gfortran.dg/binding_label_tests_10.f03: Likewise. * gfortran.dg/binding_label_tests_10_main.f03: Likewise. * gfortran.dg/binding_label_tests_11.f03: Likewise. * gfortran.dg/binding_label_tests_11_main.f03: Likewise. * gfortran.dg/binding_label_tests_13.f03: Likewise. * gfortran.dg/binding_label_tests_13_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_2.f03: Likewise. * gfortran.dg/test_common_binding_labels_2_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_3.f03: Likewise. * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise. * gfortran.dg/whole_file_28.f90: Likewise. * gfortran.dg/whole_file_29.f90: Likewise. * gfortran.dg/whole_file_30.f90: Likewise. * gfortran.dg/whole_file_31.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185430 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2011-01-291-7/+8
| | | | | | | | | | | | | PR libgfortran/47434 * gfortran.dg/read_infnan_1.f90: Update test. * gfortran.dg/module_nan.f90: Update test. * gfortran.dg/char4_iunit_1.f03: Update test. * gfortran.dg/large_real_kind_1.f90: Update test. * gfortran.dg/real_const_3.f90: Update test. * gfortran.fortran-torture/execute/nan_inf_fmt.f90: Update test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-03-22 Richard Guenther <rguenther@suse.de>rguenth2010-03-221-0/+9
| | | | | | | | | | | PR tree-optimization/43390 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make sure vector extracts are type correct. * gfortran.fortran-torture/execute/pr43390.f90: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157624 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-06 H.J. Lu <hongjiu.lu@intel.com>hjl2009-05-061-0/+40
| | | | | | | | * gfortran.dg/pr40021.f: Moved to ... * gfortran.fortran-torture/execute/pr40021.f: Here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147192 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.fortran-torture/execute/getarg_1.x: New file.uweigand2009-04-171-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146246 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.fortran-torture/execute/nan_inf_fmt.x: Skip on spu-*-*.uweigand2009-04-173-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gfortran.fortran-torture/execute/intrinsic_nearest.x: Likewise. * gfortran.fortran-torture/execute/intrinsic_set_exponent.x: Likewise. * gfortran.dg/nearest_1.f90: Likewise. * gfortran.dg/nearest_3.f90: Likewise. * gfortran.dg/isnan_1.f90: Likewise. * gfortran.dg/isnan_2.f90: Likewise. * gfortran.dg/nan_1.f90: Likewise. * gfortran.dg/nan_2.f90: Likewise. * gfortran.dg/nan_3.f90: Likewise. * gfortran.dg/nan_4.f90: Likewise. * gfortran.dg/module_nan.f90: Likewise. * gfortran.dg/int_conv_2.f90: Likewise. * gfortran.dg/init_flag_3.f90: Likewise. * gfortran.dg/namelist_42.f90: Likewise. * gfortran.dg/namelist_43.f90: Likewise. * gfortran.dg/real_const_3.f90: Likewise. * gfortran.dg/transfer_simplify_1.f90: Likewise. * gfortran.dg/default_format_1.f90: XFAIL on spu-*-*. * gfortran.dg/default_format_denormal_1.f90: XFAIL on spu-*-*. * gfortran.dg/scalar_mask_2.f90: XFAIL on spu-*-*. * gfortran.dg/integer_exponentiation_3.F90: XFAIL on spu-*-*. * gfortran.dg/integer_exponentiation_5.F90: XFAIL on spu-*-*. * gfortran.dg/elemental_subroutine_1.f90: Relax "epsilon" check. * gfortran.dg/gamma_5.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146243 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-11 Daniel Kraft <d@domob.eu>domob2009-04-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/37746 * gfortran.h (struct gfc_charlen): New field `passed_length' to store the actual passed string length for dummy arguments. * trans-decl.c (gfc_create_string_length): Formatting fixes and added assertion, moved a local variable into the innermost block it is needed. (create_function_arglist): Removed TODO about the check being implemented and initialize cl->passed_length here. (add_argument_checking): New method. (gfc_generate_function_code): Call the argument checking method. 2009-04-11 Daniel Kraft <d@domob.eu> PR fortran/37746 * gfortran.dg/bounds_check_strlen_1.f90: New test. * gfortran.dg/bounds_check_strlen_2.f90: New test. * gfortran.dg/bounds_check_strlen_3.f90: New test. * gfortran.dg/bounds_check_strlen_4.f90: New test. * gfortran.dg/bounds_check_strlen_5.f90: New test. * gfortran.dg/bounds_check_strlen_6.f90: New test. * gfortran.dg/bounds_check_strlen_7.f90: New test. * gfortran.fortran-torture/execute/intrinsic_index.f90: Fix wrong expected string length that failed with -fbounds-check now. * gfortran.fortran-torture/execute/intrinsic_trim.f90: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145958 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2008 and/or 2009.jakub2009-02-201-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144324 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/20020919-1.c: Correct target selector to alpha*-*-*.uros2008-12-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/pr31866.c: Ditto. * gcc.dg/torture/type-generic-1.c: Add -mieee for alpha*-*-* targets. * g++.dg/torture/type-generic-1.C: Ditto. * gfortran.dg/boz_9.f90: Ditto. * gfortran.dg/boz_14.f90: Ditto. * gfortran.dg/init_flag_3.f90: Ditto. * gfortran.dg/init_flag_4.f90: Ditto. * gfortran.dg/init_flag_5.f90: Ditto. * gfortran.dg/integer_exponentiation_1.f90: Ditto. * gfortran.dg/integer_exponentiation_5.F90: Ditto. * gfortran.dg/isnan_1.f90: Ditto. * gfortran.dg/isnan_2.f90: Ditto. * gfortran.dg/module_nan.f90: Ditto. * gfortran.dg/nan_1.f90: Ditto. * gfortran.dg/nan_2.f90: Ditto. * gfortran.dg/nan_3.f90: Ditto. * gfortran.dg/nan_4.f90: Ditto. * gfortran.dg/namelist_42.f90: Ditto. * gfortran.dg/namelist_43.f90: Ditto. * gfortran.dg/nearest_1.f90: Ditto. * gfortran.dg/nearest_2.f90: Ditto. * gfortran.dg/nearest_3.f90: Ditto. * gfortran.dg/pr37243.f: Ditto. * gfortran.dg/real_const_3.f90: Ditto. * gfortran.dg/transfer_simplify_2.f90: Ditto. * gfortran.fortran-torture/execute/intrinsic_spacing.x: New file. * gfortran.dg/default_format_denormal_1.f90: XFAIL on alpha. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142639 138bc75d-0d04-0410-961f-82ee72b054a4
* testsuitesteven2008-10-022-0/+92
| | | | | | | | | | | | | | | | | | | | | | | * gfortran.fortran-torture/execute/intrinsic_leadz.f90: New test. * gfortran.fortran-torture/execute/intrinsic_trailz.f90: New test. fortran/ PR fortran/37635 * intrinsic.c (add_functions): Add LEADZ and TRAILZ as generics. * intrinsic.h (gfc_simplify_leadz, gfc_simplify_trailz): New protos. * gfortran.h <enum gfc_isym_id>: (GFC_ISYM_LEADZ, GFC_ISYM_TRAILZ): New. * f95-lang (gfc_init_builtin_functions): Add BUILT_IN_CLZ, BUILT_IN_CLZL, BUILT_IN_CLZLL, BUILT_IN_CTZ, BUILT_IN_CTZL, and BUILT_IN_CTZLL. * trans-intrinsic.c (gfc_conv_intrinsic_leadz, gfc_conv_intrinsic_trails): New code-generation functions for LEADZ and TRAILZ intrinsics. (gfc_conv_intrinsic_function): Use them * intrinsic.texi: Add documentation for LEADZ and TRAILZ. * simplify.c (gfc_simplify_leadz, gfc_simplify_trailz): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140837 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rsandifo2008-05-271-1/+1
| | | | | | | | | | | * lib/fortran-torture.exp (get-fortran-torture-options): New function, replacing old FORTRAN_TORTURE_OPTIONS code. * gfortran.fortran-torture/compile/compile.exp: Use [get-fortran-torture-options] instead of $FORTRAN_TORTURE_OPTIONS. * gfortran.fortran-torture/execute/execute.exp: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136050 138bc75d-0d04-0410-961f-82ee72b054a4
* libgomp:janis2008-05-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib. gcc/doc: * doc/sourcebuild.texi: Document support for torture tests. gcc/testsuite: * lib/torture-options.exp: New support for torture options. * lib/gfortran-dg.exp (gfortran-dg-runtest): Use new torture procs. * lib/c-torture.exp: Define C_TORTURE_OPTIONS instead of TORTURE_OPTIONS; don't define torture_with_loops and torture_without_loops. * lib/gcc-dg.exp: Define DG_TORTURE_OPTIONS instead of TORTURE_OPTIONS; don't define torture_with_loops and torture_without_loops. (gcc-dg-runtest): Use new torture procs if no torture options defined. * lib/fortran-torture.exp: Define FORTRAN_TORTURE_OPTIONS instead of TORTURE_OPTIONS. (fortran-torture-execute): Use torture_with_loops instead of TORTURE_OPTIONS. (fortran-torture): Ditto. * lib/objc-torture.exp: Define OBJC_TORTURE_OPTIONS instead of TORTURE_OPTIONS; don't define torture_with_loops and torture_without_loops. * gcc.c-torture/execute/execute.exp: Use new torture procs. * gcc.c-torture/execute/builtins/builtins.exp: Ditto. * gcc.c-torture/execute/ieee/ieee.exp: Ditto. * gcc.c-torture/unsorted/unsorted.exp: Ditto. * gfortran.fortran-torture/execute/execute.exp: Ditto. * gfortran.fortran-torture/compile/compile.exp: Ditto. * gcc.target/x86_64/abi/abi-x86_64.exp: Ditto. * gcc.target/i386/math-torture/math-torture.exp: Define MATH_TORTURE_OPTIONS, use new torture procs. * gcc.dg/pch/pch.exp: Use new torture procs. * gcc.dg/format/format.exp: Ditto. * gcc.misc-tests/i386-prefetch.exp: Ditto. * gcc.misc-tests/dectest.exp: Ditto. * objc.dg/pch/pch.exp: Ditto. * objc/execute/execute.exp: Ditto. * objc/execute/exceptions/exceptions.exp: Ditto. * objc/compile/compile.exp: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135381 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/lib/target-supports.exp (check_effective_target_fd_truncate):hp2008-03-056-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New. * gfortran.fortran-torture/execute/list_read_1.x, gfortran.fortran-torture/execute/read_null_string.x, gfortran.fortran-torture/execute/backspace.x, gfortran.fortran-torture/execute/seq_io.x, gfortran.fortran-torture/execute/slash_edit.x, gfortran.fortran-torture/execute/unopened_unit_1.x, gfortran.dg/namelist_21.f90, gfortran.dg/advance_5.f90, gfortran.dg/fmt_t_7.f, gfortran.dg/eor_1.f90, gfortran.dg/read_x_past.f, gfortran.dg/tl_editing.f90, gfortran.dg/ftell_2.f90, gfortran.dg/namelist_13.f90, gfortran.dg/namelist_22.f90, gfortran.dg/advance_6.f90, gfortran.dg/read_bad_advance.f90, gfortran.dg/func_derived_3.f90, gfortran.dg/namelist_40.f90, gfortran.dg/x_slash_2.f, gfortran.dg/namelist_14.f90, gfortran.dg/backspace_1.f, gfortran.dg/namelist_23.f90, gfortran.dg/pr17285.f90, gfortran.dg/read_noadvance.f90, gfortran.dg/namelist_use_only.f90, gfortran.dg/namelist_41.f90, gfortran.dg/namelist_15.f90, gfortran.dg/backspace_3.f, gfortran.dg/backslash_3.f, gfortran.dg/namelist_24.f90, gfortran.dg/pr17286.f90, gfortran.dg/endfile.f90, gfortran.dg/open_access_append_1.f90, gfortran.dg/fmt_huge.f90, gfortran.dg/namelist_42.f90, gfortran.dg/pr18392.f90, gfortran.dg/pr19155.f, gfortran.dg/pr12884.f, gfortran.dg/namelist_16.f90, gfortran.dg/backspace_5.f, gfortran.dg/open_readonly_1.f90, gfortran.dg/fmt_read.f90, gfortran.dg/iostat_1.f90, gfortran.dg/namelist_43.f90, gfortran.dg/read_size_noadvance.f90, gfortran.dg/inquire_5.f90, gfortran.dg/read_many_1.f, gfortran.dg/namelist_17.f90, gfortran.dg/list_read_1.f90, gfortran.dg/backspace_10.f90, gfortran.dg/namelist_26.f90, gfortran.dg/unf_read_corrupted_2.f90, gfortran.dg/record_marker_1.f90, gfortran.dg/convert_implied_open.f90, gfortran.dg/iostat_2.f90, gfortran.dg/write_check3.f90, gfortran.dg/namelist_44.f90, gfortran.dg/namelist_use.f90, gfortran.dg/rewind_1.f90, gfortran.dg/streamio_11.f90, gfortran.dg/namelist_18.f90, gfortran.dg/backspace_9.f, gfortran.dg/dos_eol.f, gfortran.dg/read_eof_1.f90, gfortran.dg/namelist_27.f90, gfortran.dg/pad_no.f90, gfortran.dg/endfile.f, gfortran.dg/namelist_11.f, gfortran.dg/namelist_19.f90, gfortran.dg/eor_handling_1.f90, gfortran.dg/write_rewind_1.f, gfortran.dg/comma.f, gfortran.dg/read_eof_2.f90, gfortran.dg/namelist_28.f90, gfortran.dg/record_marker_3.f90, gfortran.dg/complex_read.f90, gfortran.dg/namelist_37.f90, gfortran.dg/error_recovery_5.f90, gfortran.dg/namelist_char_only.f90, gfortran.dg/pr18122.f90, gfortran.dg/list_read_4.f90, gfortran.dg/eor_handling_2.f90, gfortran.dg/read_eof_3.f90, gfortran.dg/dollar_edit_descriptor_1.f, gfortran.dg/pr19467.f90, gfortran.dg/namelist_38.f90, gfortran.dg/inquire_9.f90, gfortran.dg/list_read_5.f90, gfortran.dg/noadv_size.f90, gfortran.dg/backslash_1.f90, gfortran.dg/eor_handling_3.f90, gfortran.dg/read_eof_4.f90, gfortran.dg/runtime_warning_1.f90, gfortran.dg/x_slash_1.f, gfortran.dg/namelist_39.f90, gfortran.dg/streamio_3.f90, gfortran.dg/read_comma.f, gfortran.dg/pr19657.f, gfortran.dg/streamio_15.f90, gfortran.dg/list_read_6.f90, gfortran.dg/eor_handling_4.f90, gfortran.dg/backslash_2.f90, gfortran.dg/pr19216.f, gfortran.dg/PR19872.f, gfortran.dg/backspace_2.f, gfortran.dg/empty_format_1.f90, gfortran.dg/streamio_4.f90, gfortran.dg/append_1.f90, gfortran.dg/fgetc_1.f90, gfortran.dg/complex_write.f90, gfortran.dg/list_read_7.f90, gfortran.dg/eor_handling_5.f90, gfortran.dg/fmt_t_1.f90, gfortran.dg/pr17090.f90, gfortran.dg/backspace_4.f, gfortran.dg/shape_3.f90, gfortran.dg/unf_io_convert_1.f90, gfortran.dg/fgetc_2.f90, gfortran.dg/vector_subscript_3.f90, gfortran.dg/list_read_8.f90, gfortran.dg/flush_1.f90, gfortran.dg/advance_1.f90, gfortran.dg/fmt_t_2.f90, gfortran.dg/backspace_6.f, gfortran.dg/slash_1.f90, gfortran.dg/stat_1.f90, gfortran.dg/unformatted_recl_1.f90, gfortran.dg/record_marker_2.f, gfortran.dg/overwrite_1.f, gfortran.dg/unf_io_convert_2.f90, gfortran.dg/fmt_t_3.f90, gfortran.dg/backspace_8.f, gfortran.dg/stat_2.f90, gfortran.dg/pr18210.f90, gfortran.dg/unformatted_subrecord_1.f90, gfortran.dg/pr20257.f90, gfortran.dg/eof_1.f90, gfortran.dg/fmt_t_4.f90, gfortran.dg/unf_short_record_1.f90, gfortran.dg/fmt_exhaust.f90, gfortran.dg/namelist_20.f90, gfortran.dg/advance_4.f90, gfortran.dg/fmt_t_5.f90, gfortran.dg/namelist_12.f, gfortran.dg/backspace_7.f90, gfortran.dg/write_rewind_2.f, gfortran.dg/ftell_1.f90, gfortran.dg/fseek.f90, gfortran.dg/write_back.f: Gate test on effective_target fd_truncate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132885 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/33197fxcoudert2008-03-031-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran/ * intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH, ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N}, ERFC_SCALED, LOG_GAMMA and HYPOT. * intrinsic.h (gfc_check_hypot, gfc_simplify_hypot, gfc_resolve_hypot): New prototypes. * mathbuiltins.def: Add HYPOT builtin. Make complex versions of ACOSH, ASINH and ATANH available. * gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values. * lang.opt: Add -std=f2008 option. * libgfortran.h: Define GFC_STD_F2008. * lang-specs.h: Add .f08 and .F08 file suffixes. * iresolve.c (gfc_resolve_hypot): New function. * parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008. * check.c (gfc_check_hypot): New function. * trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin. * options.c (set_default_std_flags): Allow Fortran 2008 by default. (form_from_filename): Add .f08 suffix. (gfc_handle_option): Handle -std=f2008 option. * simplify.c (gfc_simplify_hypot): New function. * gfortran.texi: Document Fortran 2008 status and file extensions. * intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics, as well as HYPOT and ERFC_SCALED. Update documentation of ERF, ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH. * invoke.texi: Document the new -std=f2008 option. libgomp/ * testsuite/libgomp.fortran/fortran.exp: Add .f08 and .F08 file suffixes. gcc/testsuite/ * gfortran.dg/gomp/gomp.exp: Add .f08 and .F08 file suffixes. * gfortran.dg/dg.exp: Likewise. * gfortran.dg/vect/vect.exp: Likewise. * gfortran.fortran-torture/execute/execute.exp: Likewise. * gfortran.fortran-torture/compile/compile.exp: Likewise. * gfortran.dg/gamma_1.f90: Also check log_gamma. * gfortran.dg/invalid_contains_1.f90: Remove warning about empty CONTAINS. * gfortran.dg/gamma_2.f90: Add a few error messages. * gfortran.dg/invalid_contains_2.f90: Remove warning about empty CONTAINS. * gfortran.dg/gamma_3.f90: Adjust error message. * gfortran.dg/gamma_4.f90: Test for log_gamma instead of lgamma. * gfortran.dg/bind_c_usage_9.f03: Adjust error messages. * gfortran.dg/bessel_1.f90: New test. * gfortran.dg/recursive_check_3.f90: Remove warnings. * gfortran.dg/besxy.f90: Also check for new F2008 intrinsics. * gfortran.dg/derived_function_interface_1.f90: Remove warning. * gfortran.dg/contains_empty_1.f03: New test. * gfortran.dg/erfc_scaled_1.f90: New test. * gfortran.dg/hypot_1.f90: New test. * gfortran.dg/contains_empty_2.f03: New test. libgfortran/ * intrinsics/erfc_scaled_inc.c: New file. * intrinsics/erfc_scaled.c: New file. * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*. * Makefile.am: Add intrinsics/erfc_scaled.c. * config.h.in: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132846 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2007-11-183-13/+13
| | | | | | | | | | | | | | | | | | | | PR fortran/32770 * gfortran.fortran-torture/execute/equiv_5.f: Set kind on integers so tests works with -fdefault-integer-8. * gfortran.fortran-torture/execute/elemental.f90: Use default integers so test passes with -fdefault-integer-8. * gfortran.fortran-torture/execute/der_io.f90: Increase buffer length so test passes with -fdefault-integer-8. * gfortran.dg/bounds_check_8.f90: Likewise. * gfortran.dg/arrayio_derived_1.f90: LIkewise. * gfortran.dg/equiv_7.f90: Set kind so test passes with -fdefault-integer-8. * gfortran.dg/g77/20030326-1.f: Set kind explicitly to provoke overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130279 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/32989fxcoudert2007-08-291-1/+7
| | | | | | | | | | | | | | | * iresolve.c (gfc_resolve_getarg): Handle non-default integer kinds. * check.c (gfc_check_getarg): New function * intrinsic.h: Add prototype for gfc_check_getarg. * intrinsic.c (add_subroutines): Add reference to gfc_check_getarg. * intrinsic.texi (GETARG): Adjust documentation. * gfortran.fortran-torture/execute/getarg_1.f90: Add check for non-default integer kind arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127905 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c-torture/execute/execute.exp: Change copyright header to refer to versionnickc2007-08-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * gcc.c-torture/execute/ieee/ieee.exp, gcc.c-torture/unsorted/unsorted.exp, gcc.c-torture/compile/compile.exp, gcc.c-torture/compile/structs.c, gcc.target/powerpc/powerpc.exp, gcc.target/arm/neon/neon.exp, gcc.target/arm/arm.exp, gcc.target/cris/torture/cris-torture.exp, gcc.target/cris/cris.exp, gcc.target/ia64/ia64.exp, gcc.target/alpha/alpha.exp, gcc.target/m68k/m68k.exp, gcc.target/spu/spu.exp, gcc.target/mips/mips.exp, gcc.target/sparc/sparc.exp, gcc.target/i386/i386.exp, gcc.target/x86_64/abi/abi-x86_64.exp, gnat.dg/specs/specs.exp, gnat.dg/dg.exp, gnat.dg/style/style.exp, gcc.dg/special/mips-abi.exp, gcc.dg/special/special.exp, gcc.dg/pch/pch.exp, gcc.dg/vxworks/vxworks.exp, gcc.dg/dg.exp, gcc.dg/charset/charset.exp, gcc.dg/weak/weak.exp, gcc.dg/tree-ssa/tree-ssa.exp, gcc.dg/tls/tls.exp, gcc.dg/cpp/cpp.exp, gcc.dg/cpp/trad/trad.exp, gcc.dg/matrix/matrix.exp, gcc.dg/vmx/vmx.exp, gcc.dg/compat/struct-layout-1.exp, gcc.dg/compat/compat.exp, gcc.dg/compat/struct-layout-1_generate.c, gcc.dg/debug/debug.exp, gcc.dg/debug/dwarf2/dwarf2.exp, gcc.dg/tree-prof/tree-prof.exp, gcc.dg/ipa/ipa.exp, gcc.dg/dfp/dfp.exp, gcc.dg/noncompile/noncompile.exp, gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp, gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp, gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp, gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp, gcc.dg/vect/vect.exp, gcc.dg/format/format.exp, gcc.misc-tests/i386-prefetch.exp, gcc.misc-tests/sort2.exp, gcc.misc-tests/matrix1.exp, gcc.misc-tests/dectest.exp, gcc.misc-tests/options.exp, gcc.misc-tests/gcov.exp, gcc.misc-tests/mg-2.exp, gcc.misc-tests/mg.exp, gcc.misc-tests/bprob.exp, gcc.misc-tests/acker1.exp, gcc.misc-tests/dhry.exp, gcc.misc-tests/linkage.exp, gcc.misc-tests/arm-isr.exp, gcc.misc-tests/sieve.exp, g++.old-deja/g++.niklas/README, g++.old-deja/g++.gb/README, g++.old-deja/old-deja.exp, gfortran.fortran-torture/execute/execute.exp, gfortran.fortran-torture/compile/compile.exp, treelang/output/output-1.c, treelang/output/output-1.tree, treelang/execute/execute.exp, treelang/Makefile.in, treelang/compile/compile.exp, g++.dg/dg.exp, g++.dg/debug/debug.exp, g++.dg/debug/dwarf2/dwarf2.exp, g++.dg/charset/charset.exp, g++.dg/vect/vect.exp, g++.dg/tls/tls.exp, g++.dg/tree-prof/tree-prof.exp, g++.dg/pch/pch.exp, g++.dg/special/ecos.exp, g++.dg/compat/struct-layout-1.exp, g++.dg/compat/struct-layout-1_generate.c, g++.dg/compat/compat.exp, g++.dg/gcov/gcov.exp, g++.dg/bprob/bprob.exp, config/default.exp, gcc.test-framework/test-framework.awk, gcc.test-framework/gen_directive_tests, gcc.test-framework/test-framework.exp, objc.dg/special/special.exp, objc.dg/gnu-encoding/gnu-encoding.exp, objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c, objc.dg/pch/pch.exp, objc.dg/dg.exp, lib/copy-file.exp, lib/profopt.exp, lib/gcc.exp, lib/mike-g++.exp, lib/c-compat.exp, lib/scanrtl.exp, lib/gfortran-dg.exp, lib/g++.exp, lib/obj-c++.exp, lib/wrapper.exp, lib/gnat-dg.exp, lib/compat.exp, lib/c-torture.exp, lib/gcc-dg.exp, lib/scanasm.exp, lib/gnat.exp, lib/treelang-dg.exp, lib/prune.exp, lib/gcov.exp, lib/treelang.exp, lib/dg-pch.exp, lib/scantree.exp, lib/g++-dg.exp, lib/objc-dg.exp, lib/file-format.exp, lib/target-libpath.exp, lib/obj-c++-dg.exp, lib/scandump.exp, lib/target-supports-dg.exp, lib/gcc-defs.exp, lib/fortran-torture.exp, lib/objc.exp, lib/scanipa.exp, lib/mike-gcc.exp, lib/objc-torture.exp, lib/gfortran.exp, lib/target-supports.exp, obj-c++.dg/dg.exp, gfortran.dg/dg.exp, gfortran.dg/vect/vect.exp, objc/execute/execute.exp, objc/execute/exceptions/exceptions.exp, objc/compile/compile.exp: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127127 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-07-04 Daniel Berlin <dberlin@dberlin.org>dberlin2007-07-041-0/+61
| | | | | | | | | | | | | | | | | | | PR tree-optimization/32604 PR tree-optimization/32606 * tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads. (compute_antic_safe): Removed. (ANTIC_SAFE_LOADS): Ditto. (compute_antic_aux): Don't print ANTIC_SAFE_LOADS. (execute_pre): Don't call compute_antic_safe. (vuse_equiv): New function. (make_values_for_stmt): Use it * tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is not always true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126338 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-07-03 Tobias Burnus <burnus@net-b.de>burnus2007-07-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | PR fortran/30940 * interface.c (get_sym_storage_size): New function. (get_sym_storage_size): New function. (compare_actual_formal): Enhance sequence association support and improve checking. 2007-07-03 Tobias Burnus <burnus@net-b.de> PR fortran/30940 * gfortran.dg/argument_checking_1.f90: New. * gfortran.dg/argument_checking_2.f90: New. * gfortran.dg/argument_checking_3.f90: New. * gfortran.dg/argument_checking_4.f90: New. * gfortran.dg/argument_checking_5.f90: New. * gfortran.fortran-torture/execute/st_function_1.f90: Add dg-warning. * gfortran.fortran-torture/execute/st_function.f90: Add dg-warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126271 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:jb2007-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/32239 * trans-expr.c (gfc_conv_power_op): Use builtin_powi for real**int4 powers. * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the builtins table. libgfortran: 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/32239 * Makefile.am: Don't generate real**int4 pow functions. * gfortran.map: Remove real**int4 pow symbols. * Makefile.in: Regenerated. testsuite 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/32239 * gfortran.fortran-torture/execute/intrinsic_fraction_exponent.f90 (test_4): Use proper test for floating point equality. (test_8): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126175 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-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-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-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
* 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 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
* * 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
* 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-304-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud