crosstool-ng/patches/gcc/4.4.0/190-flatten-switch-stmt-00.patch
Yann E. MORIN" 637b137512 /devel/gcc-4.4:
- add gcc-4.4.0 patches, vampirised from the Gentoo patchset
- gcc-4.4.0 auto-selects and uses appropriate companion linraries

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/build/cc/gcc.sh                             |   20    18     2     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/280-freebsd.patch                 |  188   188     0     0 ++++++++++
 /devel/gcc-4.4/patches/gcc/4.4.0/140-default-format-security.patch |   98    98     0     0 +++++
 /devel/gcc-4.4/patches/gcc/4.4.0/290-freebsd.patch                 |  128   128     0     0 +++++++
 /devel/gcc-4.4/patches/gcc/4.4.0/310-uclibc-conf.patch             |   70    70     0     0 ++++
 /devel/gcc-4.4/patches/gcc/4.4.0/240-libstdc++-pic.patch           |  106   106     0     0 ++++++
 /devel/gcc-4.4/patches/gcc/4.4.0/260-sh-libgcc-stacks.patch        |   50    50     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/100-alpha-mieee-default.patch     |   48    48     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/180-libgomp-no-werror.patch       |   24    24     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/170-sparc64-bsd.patch             |   58    58     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/200-libiberty.h-asprintf.patch    |   30    30     0     0 ++
 /devel/gcc-4.4/patches/gcc/4.4.0/220-libiberty-pic.patch           |   22    22     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/110-trampolinewarn.patch          |   54    54     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/160-netbsd-symbolic.patch         |   22    22     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/190-flatten-switch-stmt-00.patch  |   48    48     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/150-default-fortify-source.patch  |   52    52     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/340-libmudflap-susv3-legacy.patch |   96    96     0     0 +++++
 /devel/gcc-4.4/patches/gcc/4.4.0/120-java-nomulti.patch            |   92    92     0     0 +++++
 /devel/gcc-4.4/patches/gcc/4.4.0/270-sh-pr24836.patch              |   48    48     0     0 +++
 /devel/gcc-4.4/patches/gcc/4.4.0/330-c99-snprintf.patch            |   24    24     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/230-superh-default-multilib.patch |   24    24     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/250-ia64-noteGNUstack.patch       |  158   158     0     0 +++++++++
 /devel/gcc-4.4/patches/gcc/4.4.0/300-pr40105.patch                 |  360   360     0     0 ++++++++++++++++++++
 /devel/gcc-4.4/patches/gcc/4.4.0/210-arm-unbreak-armv4t.patch      |   24    24     0     0 +
 /devel/gcc-4.4/patches/gcc/4.4.0/130-cross-compile.patch           |   78    78     0     0 ++++
 /devel/gcc-4.4/patches/gcc/4.4.0/320-missing-execinfo_h.patch      |   24    24     0     0 +
 /devel/gcc-4.4/config/cc/gcc.in                                    |    1     1     0     0 +
 27 files changed, 1945 insertions(+), 2 deletions(-)
2009-05-27 21:16:01 +00:00

25 lines
941 B
Diff

diff -durN gcc-4.4.0.orig/gcc/stmt.c gcc-4.4.0/gcc/stmt.c
--- gcc-4.4.0.orig/gcc/stmt.c 2009-02-27 20:49:42.000000000 +0100
+++ gcc-4.4.0/gcc/stmt.c 2009-05-27 21:38:21.000000000 +0200
@@ -2376,7 +2376,11 @@
use_cost_table
= (TREE_CODE (orig_type) != ENUMERAL_TYPE
&& estimate_case_costs (case_list));
- balance_case_nodes (&case_list, NULL);
+ /* When optimizing for size, we want a straight list to avoid
+ jumps as much as possible. This basically creates an if-else
+ chain. */
+ if (!optimize_size)
+ balance_case_nodes (&case_list, NULL);
emit_case_nodes (index, case_list, default_label, index_type);
if (default_label)
emit_jump (default_label);
@@ -2942,6 +2946,7 @@
{
if (!node_has_low_bound (node, index_type))
{
+ if (!optimize_size) /* don't jl to the .default_label. */
emit_cmp_and_jump_insns (index,
convert_modes
(mode, imode,