diff options
Diffstat (limited to 'gcc/f/expr.c')
-rw-r--r-- | gcc/f/expr.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/f/expr.c b/gcc/f/expr.c index 1772727..a63ae30 100644 --- a/gcc/f/expr.c +++ b/gcc/f/expr.c @@ -11501,6 +11501,24 @@ ffeexpr_reduced_ugly2log_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, /* else Leave it alone. */ } + if (lbt == FFEINFO_basictypeLOGICAL) + { + ffebld_set_left (reduced, ffeexpr_convert (ffebld_left (reduced), + l->token, op->token, FFEINFO_basictypeINTEGER, + FFEINFO_kindtypeINTEGERDEFAULT, 0, + FFETARGET_charactersizeNONE, + FFEEXPR_contextLET)); + } + + if (rbt == FFEINFO_basictypeLOGICAL) + { + ffebld_set_right (reduced, ffeexpr_convert (ffebld_right (reduced), + r->token, op->token, FFEINFO_basictypeINTEGER, + FFEINFO_kindtypeINTEGERDEFAULT, 0, + FFETARGET_charactersizeNONE, + FFEEXPR_contextLET)); + } + return reduced; } |