diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1683a10cdda9..2da6551b608b 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2012-03-10 Steven Bosscher + + * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant. + 2012-03-09 Steven Bosscher * Make-lang.in (convert.o): Depend on convert.h. diff --git a/gcc/fortran/convert.c b/gcc/fortran/convert.c index 52476adbb52a..639f6c4864da 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)