This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix ICE in fold-const.c



On May 30, 2004, at 12:10, Joseph S. Myers wrote:


On Sun, 16 May 2004, Andrew Pinski wrote:

ChangeLog:

	* fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
	of BOOLEAN_TYPE.

What is the current status of this patch?

I had forgot to apply the approved patch, woops. Here is what I applied.

ChangeLog:
	* fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
	of BOOLEAN_TYPE.


Patch: Index: fold-const.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/fold-const.c,v retrieving revision 1.383 diff -u -p -r1.383 fold-const.c --- fold-const.c 28 May 2004 16:37:00 -0000 1.383 +++ fold-const.c 30 May 2004 16:16:50 -0000 @@ -7215,6 +7215,10 @@ fold (tree expr) goto associate;

     case TRUTH_NOT_EXPR:
+      /* The argument to invert_truthvalue must have Boolean type.  */
+      if (TREE_CODE (TREE_TYPE (arg0)) != BOOLEAN_TYPE)
+          arg0 = fold_convert (boolean_type_node, arg0);
+
       /* Note that the operand of this must be an int
 	 and its values must be 0 or 1.
 	 ("true" is a fixed value perhaps depending on the language,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]