diff options
author | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2006-10-03 13:44:09 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2006-10-03 13:44:09 +0000 |
commit | c55cebdacd10021e43ba2b6ca8c6e65c105bb859 (patch) | |
tree | e78fe0cd43c6ab51795736221d2936b44a112442 /gcc | |
parent | 704312e73831c41151ce20d4d0dbe5803671f25e (diff) | |
download | gcc-c55cebdacd10021e43ba2b6ca8c6e65c105bb859.zip gcc-c55cebdacd10021e43ba2b6ca8c6e65c105bb859.tar.gz gcc-c55cebdacd10021e43ba2b6ca8c6e65c105bb859.tar.bz2 |
re PR middle-end/27478 (entry and addressable and value-expr: and the gimplifier)
PR middle-end/27478
* trans-decl.c (gfc_get_fake_result_decl): Mark var as
TREE_ADDRESSABLE.
* gfortran.dg/entry_8.f90: New test.
From-SVN: r117396
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 29 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/entry_8.f90 | 13 |
4 files changed, 37 insertions, 11 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 983d892..cf840a5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,19 +1,26 @@ +2006-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR middle-end/27478 + * trans-decl.c (gfc_get_fake_result_decl): Mark var as + TREE_ADDRESSABLE. + 2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> - PR fortran/19262 - * gfortran.h (gfc_option_t): Add max_continue_fixed and max_continue_free. - * options.c (gfc_init_options): Initialize fixed form and free form - consecutive continuation line limits. - * scanner.c (gfc_scanner_init_1): Initialize continue_line - and continue_count. (gfc_next_char_literal): Count the number of - continuation lines in the current statement and warn if - limit is exceeded. + PR fortran/19262 + * gfortran.h (gfc_option_t): Add max_continue_fixed and + max_continue_free. + * options.c (gfc_init_options): Initialize fixed form and free form + consecutive continuation line limits. + * scanner.c (gfc_scanner_init_1): Initialize continue_line + and continue_count. (gfc_next_char_literal): Count the number of + continuation lines in the current statement and warn if limit + is exceeded. 2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> - PR fortran/19260 - * scanner.c (gfc_next_char_literal): Add check for missing '&' - and warn if in_string, otherwise return ' '. + PR fortran/19260 + * scanner.c (gfc_next_char_literal): Add check for missing '&' + and warn if in_string, otherwise return ' '. 2006-10-02 Francois-Xavier Coudert <coudert@clipper.ens.fr> diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index e4c5a5a..b3ebffc 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1866,6 +1866,7 @@ gfc_get_fake_result_decl (gfc_symbol * sym, int parent_flag) TREE_PUBLIC (decl) = 0; TREE_USED (decl) = 1; GFC_DECL_RESULT (decl) = 1; + TREE_ADDRESSABLE (decl) = 1; layout_decl (decl, 0); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1e7bf01..fb05a15 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR fortran/27478 + * gfortran.dg/entry_8.f90: New test. + 2006-10-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de> PR c++/29291 diff --git a/gcc/testsuite/gfortran.dg/entry_8.f90 b/gcc/testsuite/gfortran.dg/entry_8.f90 new file mode 100644 index 0000000..02ec2b9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/entry_8.f90 @@ -0,0 +1,13 @@ +! { dg-do compile } +! Check for PR 27478 + FUNCTION X() + ENTRY X1 + IF (X .GT. 0) CALL FOO(X) + IF (Y .GT. 0) CALL FOO(Y) + END + + FUNCTION TSL(PIN) + ENTRY TSL1(PIN) + IF (DBLE(TSL) .GT. PIN) TSL = 705.47 + TSL= PPP(TSL) + END |