diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-02-02 14:05:50 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-02-02 14:05:50 +0100 |
commit | 096bfdb1123dc93ac64aeb5324f326c9e7731e88 (patch) | |
tree | 5e4c97cd28b2ba7de1404f307c949e7551416166 /gcc | |
parent | c9c27b723cf59fc765f46c4bc0fbda82840c0f5b (diff) | |
download | gcc-096bfdb1123dc93ac64aeb5324f326c9e7731e88.zip gcc-096bfdb1123dc93ac64aeb5324f326c9e7731e88.tar.gz gcc-096bfdb1123dc93ac64aeb5324f326c9e7731e88.tar.bz2 |
re PR fortran/42650 (F90: DT function with in-line DT definition and RESULT is rejected)
2010-02-02 Tobias Burnus <burnus@net-b.de>
PR fortran/42650
* parse.c (decode_specification_statement): Use sym->result not
* sym.
2010-02-02 Tobias Burnus <burnus@net-b.de>
PR fortran/42650
* gfortran.dg/func_result_5.f90: New test.
From-SVN: r156449
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/parse.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/func_result_5.f90 | 14 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9e767557..9fff7ca 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-02-02 Tobias Burnus <burnus@net-b.de> + + PR fortran/42650 + * parse.c (decode_specification_statement): Use sym->result not sym. + 2010-02-01 Tobias Burnus <burnus@net-b.de> PR fortran/42922 diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 8f7ec29..9e8a123 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -111,7 +111,7 @@ decode_specification_statement (void) match ("import", gfc_match_import, ST_IMPORT); match ("use", gfc_match_use, ST_USE); - if (gfc_current_block ()->ts.type != BT_DERIVED) + if (gfc_current_block ()->result->ts.type != BT_DERIVED) goto end_of_block; match (NULL, gfc_match_st_function, ST_STATEMENT_FUNCTION); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c68fe11..d409f98 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-02-02 Tobias Burnus <burnus@net-b.de> + + PR fortran/42650 + * gfortran.dg/func_result_5.f90: New test. + 2010-02-01 Tobias Burnus <burnus@net-b.de> PR fortran/42922 diff --git a/gcc/testsuite/gfortran.dg/func_result_5.f90 b/gcc/testsuite/gfortran.dg/func_result_5.f90 new file mode 100644 index 0000000..5faff39 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/func_result_5.f90 @@ -0,0 +1,14 @@ +! { dg-do compile } +! +! PR fortran/42650 +! +! Result type was not working +! + +type(t) function func2() result(res) + type t + sequence + integer :: i = 5 + end type t + res%i = 2 +end function func2 |