aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-03-10 13:42:46 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-03-10 13:42:46 +0000
commitf8627856b408f330258e404cb19c2fa48ae28176 (patch)
tree5e5facbcd5c5ff21d8ee10d786a8fe31926dd21c /gcc
parentb364b425154a158c82f8ddca58892d04cc6e8b82 (diff)
downloadgcc-f8627856b408f330258e404cb19c2fa48ae28176.zip
gcc-f8627856b408f330258e404cb19c2fa48ae28176.tar.gz
gcc-f8627856b408f330258e404cb19c2fa48ae28176.tar.bz2
* convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
From-SVN: r185174
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog4
-rw-r--r--gcc/fortran/convert.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1683a10..2da6551 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
+
2012-03-09 Steven Bosscher <steven@gcc.gnu.org>
* Make-lang.in (convert.o): Depend on convert.h.
diff --git a/gcc/fortran/convert.c b/gcc/fortran/convert.c
index 52476ad..639f6c4 100644
--- a/gcc/fortran/convert.c
+++ b/gcc/fortran/convert.c
@@ -95,7 +95,8 @@ convert (tree type, tree expr)
if (code == VOID_TYPE)
return fold_build1_loc (input_location, CONVERT_EXPR, type, e);
if (code == BOOLEAN_TYPE)
- return truthvalue_conversion (e);
+ return fold_build1_loc (input_location, NOP_EXPR, type,
+ truthvalue_conversion (e));
if (code == INTEGER_TYPE)
return fold (convert_to_integer (type, e));
if (code == POINTER_TYPE || code == REFERENCE_TYPE)