patches/gcc/3.4.6/180-pr15068-fix.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Oct 09 19:17:49 2008 +0000 (2008-10-09)
changeset 914 0b164a321177
parent 339 bd5e0a849352
permissions -rw-r--r--
Remove CT_BROKEN.
Only one component is actually BROKEN (libelf), make it depend on EXPERIMENTAL, but state BROKEN in the prompt.
ltrace (which depends on libelf) is now marked as EXPERIMENTAL, with the reference to the BROKEN libelf in the help entry.

/trunk/docs/overview.txt | 6 0 6 0 ------
/trunk/config/debug/ltrace.in | 7 4 3 0 ++++---
/trunk/config/global/ct-behave.in | 8 0 8 0 --------
/trunk/config/tools/libelf.in | 5 3 2 0 +++--
4 files changed, 7 insertions(+), 19 deletions(-)
yann@339
     1
diff -durN gcc-3.4.6.orig/gcc/flow.c gcc-3.4.6/gcc/flow.c
yann@339
     2
--- gcc-3.4.6.orig/gcc/flow.c	2005-09-01 22:51:09.000000000 +0200
yann@339
     3
+++ gcc-3.4.6/gcc/flow.c	2007-08-15 23:00:30.000000000 +0200
yann@339
     4
@@ -1884,6 +1884,7 @@
yann@339
     5
 	  rtx set_src = SET_SRC (pc_set (BB_END (bb)));
yann@339
     6
 	  rtx cond_true = XEXP (set_src, 0);
yann@339
     7
 	  rtx reg = XEXP (cond_true, 0);
yann@339
     8
+ 	  enum rtx_code inv_cond;
yann@339
     9
 
yann@339
    10
 	  if (GET_CODE (reg) == SUBREG)
yann@339
    11
 	    reg = SUBREG_REG (reg);
yann@339
    12
@@ -1892,11 +1893,13 @@
yann@339
    13
 	     in the form of a comparison of a register against zero.  
yann@339
    14
 	     If the condition is more complex than that, then it is safe
yann@339
    15
 	     not to record any information.  */
yann@339
    16
-	  if (GET_CODE (reg) == REG
yann@339
    17
+ 	  inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
yann@339
    18
+ 	  if (inv_cond != UNKNOWN
yann@339
    19
+	      && GET_CODE (reg) == REG
yann@339
    20
 	      && XEXP (cond_true, 1) == const0_rtx)
yann@339
    21
 	    {
yann@339
    22
 	      rtx cond_false
yann@339
    23
-		= gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
yann@339
    24
+		= gen_rtx_fmt_ee (inv_cond,
yann@339
    25
 				  GET_MODE (cond_true), XEXP (cond_true, 0),
yann@339
    26
 				  XEXP (cond_true, 1));
yann@339
    27
 	      if (GET_CODE (XEXP (set_src, 1)) == PC)