]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
avr.c (avr_encode_section_info): Bail out if the type is error_mark_node.
authorJoern Rennecke <joern.rennecke@embecosm.com>
Tue, 14 May 2013 11:15:08 +0000 (11:15 +0000)
committerDenis Chertykov <denisc@gcc.gnu.org>
Tue, 14 May 2013 11:15:08 +0000 (15:15 +0400)
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

gcc/ChangeLog
gcc/config/avr/avr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c

index 533f21aed31d656a5bf012402bb262bef9b1cac2..76c74e388ccfe6f2d5ea9e5fb003815543401d89 100644 (file)
@@ -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
index 3f2b54a169c3555c2e4ae5ede477ce63024927f5..e397186398e92cd3db4e6db547b52e771b64eed9 100644 (file)
@@ -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.  */
index d37d4ae4dd85f1c15a194559b953eb4e86b44daf..410739b13f9d4a0ebe4a93e183c49563f30dadd8 100644 (file)
@@ -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.
index 070db973da85d6349ae788622031236352ee34ef..6899d4b097dd1047b6dc22c96a5a1cf7b6f19d21 100644 (file)
@@ -52,4 +52,4 @@ LIM5 (X);
 REFERENCE references[] = {
   LIM5 (X)
   0
-};
+}; /* { dg-error "size of array is too large" "" { target avr-*-* } } */