]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - binutils/rcparse.y
Imported binutils-2.20
[msp430-binutils.git] / binutils / rcparse.y
index 64ea96603da216de80fa999567dc241af6e50de5..8caa3ef94d8f17f7e32b829114604686b7dc5625 100644 (file)
@@ -1,5 +1,5 @@
 %{ /* rcparse.y -- parser for Windows rc files
 %{ /* rcparse.y -- parser for Windows rc files
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007
+   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2008
    Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
    Extended by Kai Tietz, Onevision.
    Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
    Extended by Kai Tietz, Onevision.
@@ -926,7 +926,7 @@ resid:
            $$.named = 0;
            $$.u.id = $1;
          }
            $$.named = 0;
            $$.u.id = $1;
          }
-       | res_unicode_string
+       | res_unicode_string_concat
          {
            $$.named = 1;
            $$.u.n.name = $1;
          {
            $$.named = 1;
            $$.u.n.name = $1;
@@ -1248,6 +1248,10 @@ rcdata_data:
            $1.last->next = ri;
            $$.last = ri;
          }
            $1.last->next = ri;
            $$.last = ri;
          }
+       | rcdata_data ','
+         {
+           $$=$1;
+         }
        ;
 
 /* Stringtable resources.  */
        ;
 
 /* Stringtable resources.  */
@@ -1263,17 +1267,18 @@ string_data:
        | string_data numexpr res_unicode_string_concat
          {
            define_stringtable (&sub_res_info, $2, $3);
        | string_data numexpr res_unicode_string_concat
          {
            define_stringtable (&sub_res_info, $2, $3);
-           if (yychar != YYEMPTY)
-             YYERROR;
            rcparse_discard_strings ();
          }
        | string_data numexpr ',' res_unicode_string_concat
          {
            define_stringtable (&sub_res_info, $2, $4);
            rcparse_discard_strings ();
          }
        | string_data numexpr ',' res_unicode_string_concat
          {
            define_stringtable (&sub_res_info, $2, $4);
-           if (yychar != YYEMPTY)
-             YYERROR;
            rcparse_discard_strings ();
          }
            rcparse_discard_strings ();
          }
+       | string_data error
+         {
+           rcparse_warning (_("invalid stringtable resource."));
+           abort ();
+         }
        ;
 
 rcdata_id:
        ;
 
 rcdata_id: