diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2013-05-14 11:15:08 +0000 |
---|---|---|
committer | Denis Chertykov <denisc@gcc.gnu.org> | 2013-05-14 15:15:08 +0400 |
commit | 6e022d7b0ba450c308d11c87581a3f6a1f88de21 (patch) | |
tree | d7cd3951d85cf3e8063fd1a9ddbb24263cabe054 | |
parent | d8478670ac3c1d733ca976e7bc8b66ae2e0ef9e6 (diff) | |
download | gcc-6e022d7b0ba450c308d11c87581a3f6a1f88de21.zip gcc-6e022d7b0ba450c308d11c87581a3f6a1f88de21.tar.gz gcc-6e022d7b0ba450c308d11c87581a3f6a1f88de21.tar.bz2 |
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
-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-*-* } } */ |