From ba45951ccfda85cbe73d6fa9f18a70e1f65369af Mon Sep 17 00:00:00 2001 From: aurel32 Date: Wed, 11 Jun 2014 12:33:30 +0000 Subject: * Fix PR c++/61336, taken from the trunk. git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.8@7448 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca --- debian/changelog | 7 +++++++ debian/patches/pr61336.diff | 40 ++++++++++++++++++++++++++++++++++++++++ debian/rules.patch | 1 + 3 files changed, 48 insertions(+) create mode 100644 debian/patches/pr61336.diff diff --git a/debian/changelog b/debian/changelog index d2a8da9..e1cb0c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +gcc-4.8 (4.8.3-3) UNRELEASED; urgency=medium + + [ Aurelien Jarno ] + * Fix PR c++/61336, taken from the trunk. + + -- Matthias Klose Sat, 07 Jun 2014 02:28:40 +0200 + gcc-4.8 (4.8.3-3) unstable; urgency=medium * Update to SVN 20140606 (r211339) from the gcc-4_8-branch. diff --git a/debian/patches/pr61336.diff b/debian/patches/pr61336.diff new file mode 100644 index 0000000..7e3e7ad --- /dev/null +++ b/debian/patches/pr61336.diff @@ -0,0 +1,40 @@ +# DP: Fix PR target/61336, taken from the trunk. + +2014-06-02 Richard Henderson + + PR target/61336 + * config/alpha/alpha.c (print_operand_address): Allow symbolic + addresses inside asms. Use output_operand_lossage instead of + gcc_unreachable. + +--- a/src/gcc/config/alpha/alpha.c ++++ b/src/gcc/config/alpha/alpha.c +@@ -5450,12 +5450,13 @@ + offset = INTVAL (addr); + break; + +-#if TARGET_ABI_OPEN_VMS + case SYMBOL_REF: ++ gcc_assert(TARGET_ABI_OPEN_VMS || this_is_asm_operands); + fprintf (file, "%s", XSTR (addr, 0)); + return; + + case CONST: ++ gcc_assert(TARGET_ABI_OPEN_VMS || this_is_asm_operands); + gcc_assert (GET_CODE (XEXP (addr, 0)) == PLUS + && GET_CODE (XEXP (XEXP (addr, 0), 0)) == SYMBOL_REF); + fprintf (file, "%s+" HOST_WIDE_INT_PRINT_DEC, +@@ -5462,10 +5463,10 @@ + XSTR (XEXP (XEXP (addr, 0), 0), 0), + INTVAL (XEXP (XEXP (addr, 0), 1))); + return; +- +-#endif ++ + default: +- gcc_unreachable (); ++ output_operand_lossage ("invalid operand address"); ++ return; + } + + fprintf (file, HOST_WIDE_INT_PRINT_DEC "($%d)", offset, basereg); diff --git a/debian/rules.patch b/debian/rules.patch index 7237c2b..b0dce31 100644 --- a/debian/rules.patch +++ b/debian/rules.patch @@ -97,6 +97,7 @@ debian_patches += \ pr57653 \ libitm-aarch64 \ pr61046 \ + pr61336 \ # FIXME: still necessary for cross building the native compiler? # gcc-auto-build \ -- cgit v1.2.3