diff options
author | Craig Burley <craig@jcb-sc.com> | 1999-04-24 09:24:13 +0000 |
---|---|---|
committer | Craig Burley <burley@gcc.gnu.org> | 1999-04-24 05:24:13 -0400 |
commit | 81c5baa0b36f7ded676caef89aec55edc0774d14 (patch) | |
tree | a8d1c67a2eca37a7dfe92b7966d190cc7b4e3b7a /gcc/f | |
parent | 29df97144a17fd2f13598851a1431e260aef6a8f (diff) | |
download | gcc-81c5baa0b36f7ded676caef89aec55edc0774d14.zip gcc-81c5baa0b36f7ded676caef89aec55edc0774d14.tar.gz gcc-81c5baa0b36f7ded676caef89aec55edc0774d14.tar.bz2 |
fix INTEGER*2 in DATA implied-DO
From-SVN: r26613
Diffstat (limited to 'gcc/f')
-rw-r--r-- | gcc/f/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/f/expr.c | 30 | ||||
-rw-r--r-- | gcc/f/version.c | 2 |
3 files changed, 27 insertions, 14 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index c174d07..689ce38 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,12 @@ +Sat Apr 24 12:19:53 1999 Craig Burley <craig@jcb-sc.com> + + * expr.c (ffeexpr_finished_): Convert DATA implied-do + start/end/incr expressions to default INTEGER. + Fix some broken conditionals. + Clean up some code in the region. + + * version.c: Bump version. + Fri Apr 23 02:08:32 1999 Craig Burley <craig@jcb-sc.com> * g77.texi (Compiler Prototypes): Replace "missing" subscript- diff --git a/gcc/f/expr.c b/gcc/f/expr.c index 72a6264..83838c7 100644 --- a/gcc/f/expr.c +++ b/gcc/f/expr.c @@ -12680,11 +12680,12 @@ again: /* :::::::::::::::::::: */ switch (ffeinfo_basictype (info)) { case FFEINFO_basictypeLOGICAL: - error = error && !ffe_is_ugly_logint (); - if (!ffeexpr_stack_->is_rhs) - break; /* Don't convert lhs variable. */ + if (! ffe_is_ugly_logint ()) + error = TRUE; + if (! ffeexpr_stack_->is_rhs) + break; expr = ffeexpr_convert (expr, ft, ft, FFEINFO_basictypeINTEGER, - ffeinfo_kindtype (ffebld_info (expr)), 0, + ffeinfo_kindtype (info), 0, FFETARGET_charactersizeNONE, FFEEXPR_contextLET); break; @@ -12728,18 +12729,21 @@ again: /* :::::::::::::::::::: */ switch (ffeinfo_basictype (info)) { case FFEINFO_basictypeLOGICAL: - error = error - && (ffeinfo_kindtype (info) != FFEINFO_kindtypeLOGICALDEFAULT); - if (!ffeexpr_stack_->is_rhs) - break; /* Don't convert lhs variable. */ + if (! ffeexpr_stack_->is_rhs) + break; expr = ffeexpr_convert (expr, ft, ft, FFEINFO_basictypeINTEGER, - FFEINFO_kindtypeINTEGERDEFAULT, 0, FFETARGET_charactersizeNONE, + ffeinfo_kindtype (info), 0, + FFETARGET_charactersizeNONE, FFEEXPR_contextLET); - break; - + /* Fall through. */ case FFEINFO_basictypeINTEGER: - error = error && - (ffeinfo_kindtype (info) != FFEINFO_kindtypeINTEGERDEFAULT); + if (ffeexpr_stack_->is_rhs + && (ffeinfo_kindtype (ffebld_info (expr)) + != FFEINFO_kindtypeINTEGERDEFAULT)) + expr = ffeexpr_convert (expr, ft, ft, FFEINFO_basictypeINTEGER, + FFEINFO_kindtypeINTEGERDEFAULT, 0, + FFETARGET_charactersizeNONE, + FFEEXPR_contextLET); break; case FFEINFO_basictypeHOLLERITH: diff --git a/gcc/f/version.c b/gcc/f/version.c index 82ab014..e431055 100644 --- a/gcc/f/version.c +++ b/gcc/f/version.c @@ -1 +1 @@ -const char *ffe_version_string = "0.5.24-19990423"; +const char *ffe_version_string = "0.5.24-19990424"; |