aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHassan Aurag <aurag@cae.com>2002-05-09 09:11:58 +0000
committerToon Moene <toon@gcc.gnu.org>2002-05-09 09:11:58 +0000
commit0a0576f3f1edcfdea0122ce5190e5017e7fd73ab (patch)
tree17fc568f2c23025e5c5d63ae5fbac3336265ed9d /gcc
parentdccfe3d6447841d8d3f9c39bf066704926b7ee4e (diff)
downloadgcc-0a0576f3f1edcfdea0122ce5190e5017e7fd73ab.zip
gcc-0a0576f3f1edcfdea0122ce5190e5017e7fd73ab.tar.gz
gcc-0a0576f3f1edcfdea0122ce5190e5017e7fd73ab.tar.bz2
expr.c (ffeexpr_reduced_ugly2log_): Allow logicals-as-integers under -fugly-logint as arguments of .and., .or., .xor.
2002-05-09 Hassan Aurag <aurag@cae.com> * expr.c (ffeexpr_reduced_ugly2log_): Allow logicals-as-integers under -fugly-logint as arguments of .and., .or., .xor. From-SVN: r53321
Diffstat (limited to 'gcc')
-rw-r--r--gcc/f/ChangeLog5
-rw-r--r--gcc/f/expr.c18
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 364408f..1f14f90 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-09 Hassan Aurag <aurag@cae.com>
+
+ * expr.c (ffeexpr_reduced_ugly2log_): Allow logicals-as-integers
+ under -fugly-logint as arguments of .and., .or., .xor.
+
2002-05-07 Jan Hubicka <jh@suse.cz>
* target.h (FFETARGET_32bit_longs): Undefine for x86-64.
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;
}