gcc:
        * config/avr/avr.c (avr_encode_section_info): Bail out if the type
        is error_mark_node.
gcc/testsuite:
        * testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]:
        Expect "size of array is too large" error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198876 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	gcc/testsuite/ChangeLog
	PR target/56987
	* config/avr/avr.opt (Waddr-space-convert): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200869 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	PR target/57506
	* config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
	(atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
	(atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
	Remove duplicate devices.
	* config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
	* config/avr/t-multilib: Regenerate.
	* config/avr/avr-tables.opt: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200870 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	PR target/57844
	* config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
	of my_fp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200872 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
gcc/
	PR target/57631
	* config/avr/avr.c (avr_set_current_function): Sanity-check signal
	name seen by assembler/linker rather if available.

gcc/testsuite/
	PR target/57631
	* gcc.target/avr/torture/pr57631.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200901 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	gcc/testsuite/ChangeLog
gcc/
	PR target/57516
	* config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
	* config/avr/avr.md (adjust_len): Add `round'.
	* config/avr/avr-protos.h (avr_out_round): New prototype.
	(avr_out_plus): Add `out_label' argument.
	* config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
	(avr_out_plus): Pass down `out_label' to avr_out_plus_1.
	Handle the case where `insn' is just a pattern.
	(avr_out_bitop): Handle the case where `insn' is just a pattern.
	(avr_out_round): New function.
	(avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.

libgcc/
	PR target/57516
	* config/avr/lib1funcs-fixed.S (__roundqq3, __rounduqq3)
	(__round_s2_const, __round_u2_const)
	(__round_s4_const, __round_u4_const, __round_x8):
	Saturate result if addition result cannot be represented.

gcc/testsuite/
	PR target/57516
	* gcc.target/avr/torture/builtins-4-roundfx.c (test2hr, test2k):
	Adjust to corrected rounding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201051 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	gcc/testsuite/ChangeLog
	libgcc/ChangeLog
	* config/avr/avr.c (avr_out_xload): No SBIS around LPM so that
	instruction sequence is 1 byte shorter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201121 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	* config/avr/avr.md: Explain asm print modifier 'r' for REG.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201163 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog