re PR target/17735 (make stops with "initializer for integer value is too complicated" while building an avr-cross compiler)

PR target/17735
	* varasm.c (default_assemble_integer): Allow pointer-sized values.
	Expand comment.

From-SVN: r90918
This commit is contained in:
Paul Brook 2004-11-19 13:12:38 +00:00 committed by Paul Brook
parent f4e5280b48
commit d31f360428
2 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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);
}