------- Comment #1 from rguenth at gcc dot gnu dot org  2007-05-30 10:09 -------
It looks like the following will fix it

Index: gimplify.c
===================================================================
--- gimplify.c  (revision 125161)
+++ gimplify.c  (working copy)
@@ -5308,7 +5308,7 @@ gimplify_omp_atomic_pipeline (tree *expr
      floating point.  This allows the atomic operation to properly 
      succeed even with NaNs and -0.0.  */
   x = build3 (COND_EXPR, void_type_node,
-             build2 (NE_EXPR, boolean_type_node, oldival, oldival2),
+             build2 (NE_EXPR, boolean_type_node, fold_convert (itype,
oldival), oldival2),
              build1 (GOTO_EXPR, void_type_node, label), NULL);
   gimplify_and_add (x, pre_p);


but this routine is a twisted maze ;)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32152

Reply via email to