LINUX.ORG.RU

gcc-3.2.2 - abs_error patch - проверьте пожалуйста !


0

0

вот сам сделал патч для gcc abs error;
вроде собирает всё нормально и проверку проходит, но
просьба к знающим людям, проверьте правильность патча
с точки зрения C и в контексте fold-const.c для gcc-3.2.2
--- gcc/fold-const.c.orig	2002-12-04 19:28:25.000000000 +0000
+++ gcc/fold-const.c	2007-11-25 10:06:20.000000000 +0000
@@ -4639,12 +4639,12 @@
 	 to change the code.  */
       if (tree_int_cst_sgn (op1) < 0 || tree_int_cst_sgn (c) < 0)
 	{
-	  if (code == CEIL_DIV_EXPR)
-	    code = FLOOR_DIV_EXPR;
-	  else if (code == FLOOR_DIV_EXPR)
-	    code = CEIL_DIV_EXPR;
-	  else if (code != MULT_EXPR
-		   && code != CEIL_MOD_EXPR && code != FLOOR_MOD_EXPR)
+//	  if (code == CEIL_DIV_EXPR)
+//	    code = FLOOR_DIV_EXPR;
+//	  else if (code == FLOOR_DIV_EXPR)
+//	    code = CEIL_DIV_EXPR;
+//	  else if (code != MULT_EXPR
+//		   && code != CEIL_MOD_EXPR && code != FLOOR_MOD_EXPR)
 	    break;
 	}
 

Re: gcc-3.2.2 - abs_error patch - проверьте пожалуйста !

ps
ещё было
@@ -4559,10 +4559,10 @@
 	  && (t2 = extract_muldiv (op1, c, code, wide_type)) != 0)
 	{
 	  if (tree_int_cst_sgn (c) < 0)
-	    tcode = (tcode == MIN_EXPR ? MAX_EXPR : MIN_EXPR);
-
-	  return fold (build (tcode, ctype, convert (ctype, t1),
-			      convert (ctype, t2)));
+//	    tcode = (tcode == MIN_EXPR ? MAX_EXPR : MIN_EXPR);
+	    break;
+//	  return fold (build (tcode, ctype, convert (ctype, t1),
+//			      convert (ctype, t2)));
 	}
       break;

но это не помогало - оставил как было в оригинальном fold-const.c

botrops-schlegelii ★★ ()

Re: gcc-3.2.2 - abs_error patch - проверьте пожалуйста !

тесты прилагаются к gcc,
см. в исходниках gcc/testsuite,
если все тесты будут пройдены успешно, то возможно это правильных патч.

fghj ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.