diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c | 2 |
4 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 533f21a..76c74e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-14 Joern Rennecke <joern.rennecke@embecosm.com> + + * config/avr/avr.c (avr_encode_section_info): Bail out if the type + is error_mark_node. + 2013-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR target/57261 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 3f2b54a..e3971863 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 d37d4ae..410739b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-14 Joern Rennecke <joern.rennecke@embecosm.com> + + * testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]: + Expect "size of array is too large" error. + 2013-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * 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 070db97..6899d4b 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-*-* } } */ |