aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2013-05-14 11:15:08 +0000
committerDenis Chertykov <denisc@gcc.gnu.org>2013-05-14 15:15:08 +0400
commit6e022d7b0ba450c308d11c87581a3f6a1f88de21 (patch)
treed7cd3951d85cf3e8063fd1a9ddbb24263cabe054
parentd8478670ac3c1d733ca976e7bc8b66ae2e0ef9e6 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/avr/avr.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c2
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-*-* } } */