summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-19 13:12:38 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-19 13:12:38 +0000
commit3e8b0d55dcaac6f40f63ff5ff2c258e86f25f0fd (patch)
tree62a658e9ae3ce3dedccc3292aef5ed146df5c59b
parent0d261841c34470f5a2e19570306babf7522cae54 (diff)
downloadppe42-gcc-3e8b0d55dcaac6f40f63ff5ff2c258e86f25f0fd.tar.gz
ppe42-gcc-3e8b0d55dcaac6f40f63ff5ff2c258e86f25f0fd.zip
PR target/17735
* varasm.c (default_assemble_integer): Allow pointer-sized values. Expand comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90918 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index aef41d64e49..93484e0dbae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-19 Paul Brook <paul@codesourcery.com>
+
+ PR target/17735
+ * varasm.c (default_assemble_integer): Allow pointer-sized values.
+ Expand comment.
+
2004-11-19 Nick Clifton <nickc@redhat.com>
* config/stormy16/stormy16.c (combine_bnp): Add code to handle
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 6019b5a7e06..aaf9e53b22c 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2026,8 +2026,9 @@ default_assemble_integer (rtx x ATTRIBUTE_UNUSED,
int aligned_p ATTRIBUTE_UNUSED)
{
const char *op = integer_asm_op (size, aligned_p);
- /* Avoid GAS bugs for values > word size. */
- if (size > UNITS_PER_WORD)
+ /* Avoid GAS bugs for large values. Specifically negative values whose
+ absolute value fits in a bfd_vma, but not in a bfd_signed_vma. */
+ if (size > UNITS_PER_WORD && size > POINTER_SIZE / BITS_PER_UNIT)
return false;
return op && (assemble_integer_with_op (op, x), true);
}
OpenPOWER on IntegriCloud