From 37a4ebf94483cebbc56e6760248fd009a965b186 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 3 Oct 2011 20:31:55 +0200 Subject: [PATCH] 4.6.1-10 --- gcc.spec | 2 ++ gcc46-godump.patch | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 gcc46-godump.patch diff --git a/gcc.spec b/gcc.spec index 0306aca..0c73628 100644 --- a/gcc.spec +++ b/gcc.spec @@ -169,6 +169,7 @@ Patch15: gcc46-libstdc++-docs.patch Patch17: gcc46-no-add-needed.patch Patch18: gcc46-ppl-0.10.patch Patch19: gcc46-pr47858.patch +Patch20: gcc46-godump.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -640,6 +641,7 @@ package or when debugging this package. %patch18 -p0 -b .ppl-0.10~ %endif %patch19 -p0 -b .pr47858~ +%patch20 -p0 -b .godump~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF diff --git a/gcc46-godump.patch b/gcc46-godump.patch new file mode 100644 index 0000000..9f8dec0 --- /dev/null +++ b/gcc46-godump.patch @@ -0,0 +1,35 @@ +2011-10-03 Jakub Jelinek + Ian Lance Taylor + + * godump.c (go_output_typedef): Handle printing also + enum values that don't fit into signed HWI. + +--- gcc/godump.c.jj 2011-03-15 15:31:35.000000000 +0100 ++++ gcc/godump.c 2011-10-03 20:27:50.762422071 +0200 +@@ -844,9 +844,23 @@ go_output_typedef (struct godump_contain + for (element = TYPE_VALUES (TREE_TYPE (decl)); + element != NULL_TREE; + element = TREE_CHAIN (element)) +- fprintf (go_dump_file, "const _%s = " HOST_WIDE_INT_PRINT_DEC "\n", +- IDENTIFIER_POINTER (TREE_PURPOSE (element)), +- tree_low_cst (TREE_VALUE (element), 0)); ++ if (host_integerp (TREE_VALUE (element), 0)) ++ fprintf (go_dump_file, "const _%s = " HOST_WIDE_INT_PRINT_DEC "\n", ++ IDENTIFIER_POINTER (TREE_PURPOSE (element)), ++ tree_low_cst (TREE_VALUE (element), 0)); ++ else if (host_integerp (TREE_VALUE (element), 1)) ++ fprintf (go_dump_file, ++ "const _%s = " HOST_WIDE_INT_PRINT_UNSIGNED "\n", ++ IDENTIFIER_POINTER (TREE_PURPOSE (element)), ++ tree_low_cst (TREE_VALUE (element), 1)); ++ else ++ fprintf (go_dump_file, ++ "const _%s = " HOST_WIDE_INT_PRINT_DOUBLE_HEX "\n", ++ IDENTIFIER_POINTER (TREE_PURPOSE (element)), ++ (unsigned HOST_WIDE_INT) ++ TREE_INT_CST_HIGH (TREE_VALUE (element)), ++ TREE_INT_CST_LOW (TREE_VALUE (element))); ++ + pointer_set_insert (container->decls_seen, TREE_TYPE (decl)); + if (TYPE_CANONICAL (TREE_TYPE (decl)) != NULL_TREE) + pointer_set_insert (container->decls_seen,