summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/generic_5.f90
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-16 15:01:59 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-16 15:01:59 +0000
commitd7b90372ccd501b958b79a5c9ae280bf8907bd7b (patch)
tree388dd87c2767bf52d5aa28790427ec7a5bbd6e9c /gcc/testsuite/gfortran.dg/generic_5.f90
parent8ccaf1c3d45c2458aac4ea53802e5e3c1cb8111d (diff)
downloadgcc-d7b90372ccd501b958b79a5c9ae280bf8907bd7b.tar.gz
2006-07-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/28384 * trans-common.c (translate_common): If common_segment is NULL emit error that common block does not exist. PR fortran/20844 * io.c (check_io_constraints): It is an error if an ADVANCE specifier appears without an explicit format. PR fortran/28201 * resolve.c (resolve_generic_s): For a use_associated function, do not search for an alternative symbol in the parent name space. PR fortran/20893 * resolve.c (resolve_elemental_actual): New function t combine all the checks of elemental procedure actual arguments. In addition, check of array valued optional args(this PR) has been added. (resolve_function, resolve_call): Remove parts that treated elemental procedure actual arguments and call the above. 2006-07-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/20844 * gfortran.dg/io_constaints_2.f90: Add the test for ADVANCE specifiers requiring an explicit format tag.. PR fortran/28201 * gfortran.dg/generic_5: New test. PR fortran/20893 * gfortran.dg/elemental_optional_args_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115499 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gfortran.dg/generic_5.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/generic_5.f9029
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/generic_5.f90 b/gcc/testsuite/gfortran.dg/generic_5.f90
new file mode 100644
index 00000000000..037dba27c65
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/generic_5.f90
@@ -0,0 +1,29 @@
+! { dg-do compile }
+! Tests the patch for PR28201, in which the call to ice would cause an ICE
+! because resolve.c(resolve_generic_s) would try to look in the parent
+! namespace to see if the subroutine was part of a legal generic interface.
+! In this case, there is nothing to test, hence the ICE.
+!
+! Contributed by Daniel Franke <franke.daniel@gmail.com>
+!
+!
+MODULE ice_gfortran
+ INTERFACE ice
+ MODULE PROCEDURE ice_i
+ END INTERFACE
+
+CONTAINS
+ SUBROUTINE ice_i(i)
+ INTEGER, INTENT(IN) :: i
+ ! do nothing
+ END SUBROUTINE
+END MODULE
+
+MODULE provoke_ice
+CONTAINS
+ SUBROUTINE provoke
+ USE ice_gfortran
+ CALL ice(23.0) ! { dg-error "is not an intrinsic subroutine" }
+ END SUBROUTINE
+END MODULE
+