From: Joern Rennecke Date: Tue, 14 May 2013 11:15:08 +0000 (+0000) Subject: avr.c (avr_encode_section_info): Bail out if the type is error_mark_node. X-Git-Tag: releases/gcc-4.9.0~5908 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6e022d7b0ba450c308d11c87581a3f6a1f88de21;p=thirdparty%2Fgcc.git avr.c (avr_encode_section_info): Bail out if the type is error_mark_node. 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. From-SVN: r198876 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 533f21aed31d..76c74e388ccf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-14 Joern Rennecke + + * config/avr/avr.c (avr_encode_section_info): Bail out if the type + is error_mark_node. + 2013-05-14 Rainer Orth PR target/57261 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 3f2b54a169c3..e397186398e9 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -8324,7 +8324,10 @@ avr_encode_section_info (tree decl, rtx rtl, int new_decl_p) && SYMBOL_REF == GET_CODE (XEXP (rtl, 0))) { rtx sym = XEXP (rtl, 0); - addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (decl)); + tree type = TREE_TYPE (decl); + if (type == error_mark_node) + return; + addr_space_t as = TYPE_ADDR_SPACE (type); /* PSTR strings are in generic space but located in flash: patch address space. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d37d4ae4dd85..410739b13f9d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-14 Joern Rennecke + + * testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]: + Expect "size of array is too large" error. + 2013-05-14 Rainer Orth * gcc.dg/fstack-protector-strong.c (alloca): Declare. diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c b/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c index 070db973da85..6899d4b097dd 100644 --- a/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c +++ b/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c @@ -52,4 +52,4 @@ LIM5 (X); REFERENCE references[] = { LIM5 (X) 0 -}; +}; /* { dg-error "size of array is too large" "" { target avr-*-* } } */