patches/gcc/4.4.2/190-flatten-switch-stmt-00.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1544 2228ea3f6b79
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
     1 diff -durN gcc-4.4.0.orig/gcc/stmt.c gcc-4.4.0/gcc/stmt.c
     2 --- gcc-4.4.0.orig/gcc/stmt.c	2009-02-27 20:49:42.000000000 +0100
     3 +++ gcc-4.4.0/gcc/stmt.c	2009-05-27 21:38:21.000000000 +0200
     4 @@ -2376,7 +2376,11 @@
     5  	  use_cost_table
     6  	    = (TREE_CODE (orig_type) != ENUMERAL_TYPE
     7  	       && estimate_case_costs (case_list));
     8 -	  balance_case_nodes (&case_list, NULL);
     9 +	  /* When optimizing for size, we want a straight list to avoid
    10 +	     jumps as much as possible. This basically creates an if-else
    11 +	     chain.  */
    12 +	  if (!optimize_size)
    13 +	    balance_case_nodes (&case_list, NULL);
    14  	  emit_case_nodes (index, case_list, default_label, index_type);
    15  	  if (default_label)
    16  	    emit_jump (default_label);
    17 @@ -2942,6 +2946,7 @@
    18  	    {
    19  	      if (!node_has_low_bound (node, index_type))
    20  		{
    21 +		  if (!optimize_size) /* don't jl to the .default_label. */
    22  		  emit_cmp_and_jump_insns (index,
    23  					   convert_modes
    24  					   (mode, imode,