summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraurel32 <aurel32@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-06-11 12:33:30 +0000
committeraurel32 <aurel32@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-06-11 12:33:30 +0000
commitba45951ccfda85cbe73d6fa9f18a70e1f65369af (patch)
treef51a77171b47d78dc6a1e0bb4d9bccb57dd244f1
parent2102b37c1f64cf66df2973740a94c7d74b585a45 (diff)
downloadgcc-48-ba45951ccfda85cbe73d6fa9f18a70e1f65369af.tar.gz
* 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
-rw-r--r--debian/changelog7
-rw-r--r--debian/patches/pr61336.diff40
-rw-r--r--debian/rules.patch1
3 files changed, 48 insertions, 0 deletions
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 <doko@debian.org> 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 <rth@redhat.com>
+
+ 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 \