* rcparse.y (FILEVERSION): Use optcnumexpr instead of cnumexpr.
authorKai Tietz <kai.tietz@onevision.com>
Sat, 28 Jul 2012 08:21:48 +0000 (08:21 +0000)
committerKai Tietz <kai.tietz@onevision.com>
Sat, 28 Jul 2012 08:21:48 +0000 (08:21 +0000)
       (PRODUCTVERSION): Likewise.

       * binutils-all/windres/version_small.rc: New test.
       * binutils-all/windres/version_small.rsd: Likewise.

binutils/ChangeLog
binutils/rcparse.y
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/windres/version_small.rc [new file with mode: 0755]
binutils/testsuite/binutils-all/windres/version_small.rsd [new file with mode: 0755]

index 2d3e0e37352bc193ba419423dd9b8ddd6903c1f8..aad03a0d4ed40aa5ebefb2794590246644834eeb 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-28  Kai Tietz  <ktietz@redhat.com>
+
+       * rcparse.y (FILEVERSION): Use optcnumexpr instead of cnumexpr.
+       (PRODUCTVERSION): Likewise.
+
 2012-07-27  Mike Frysinger  <vapier@gentoo.org>
 
        * configure.in (BFD_VERSION): Run bfd/configure --version and
index e80cbc607842046160e9bf705c35917b306ad245..f4101d59ef2b4c77bdc426f5a9ecc71e9da4cd68 100644 (file)
@@ -1423,13 +1423,15 @@ fixedverinfo:
                  res_alloc (sizeof (rc_fixed_versioninfo)));
            memset ($$, 0, sizeof (rc_fixed_versioninfo));
          }
-       | fixedverinfo FILEVERSION numexpr cnumexpr cnumexpr cnumexpr
+       | fixedverinfo FILEVERSION numexpr optcnumexpr optcnumexpr
+         optcnumexpr
          {
            $1->file_version_ms = ($3 << 16) | $4;
            $1->file_version_ls = ($5 << 16) | $6;
            $$ = $1;
          }
-       | fixedverinfo PRODUCTVERSION numexpr cnumexpr cnumexpr cnumexpr
+       | fixedverinfo PRODUCTVERSION numexpr optcnumexpr optcnumexpr
+         optcnumexpr
          {
            $1->product_version_ms = ($3 << 16) | $4;
            $1->product_version_ls = ($5 << 16) | $6;
index 6b5a418728a75699da8f924cd9f41c3f210534d7..b82624a4019dc4992b1eef4063d4aa5c0aa8afac 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-28  Kai Tietz  <ktietz@redhat.com>
+
+       * binutils-all/windres/version_small.rc: New test.
+       * binutils-all/windres/version_small.rsd: Likewise.
+
 2012-07-03  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/14319
diff --git a/binutils/testsuite/binutils-all/windres/version_small.rc b/binutils/testsuite/binutils-all/windres/version_small.rc
new file mode 100755 (executable)
index 0000000..add9855
--- /dev/null
@@ -0,0 +1,32 @@
+#include "windows.h"
+
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,1
+ PRODUCTVERSION 1,1
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040704e4"
+        BEGIN
+            VALUE L"CompanyName", L"binutil\x0073"
+            VALUE "FileDescription", "RC compiler."
+            VALUE "FileVersion", "1.0.1.0"
+            VALUE "InternalName", "windres.exe"
+            VALUE "LegalCopyright", "(c) FSF. All rights are reserved."
+            VALUE "OriginalFilename", "windres.exe"
+            VALUE "ProductName", "windows resource compiler"
+            VALUE "ProductVersion", "1.1.0.0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x407, 1252
+    END
+END
diff --git a/binutils/testsuite/binutils-all/windres/version_small.rsd b/binutils/testsuite/binutils-all/windres/version_small.rsd
new file mode 100755 (executable)
index 0000000..141ddb1
--- /dev/null
@@ -0,0 +1,51 @@
+ 0000 00000000 20000000 ffff0000 ffff0000  .... ...........
+ 0010 00000000 00000000 00000000 00000000  ................
+ 0020 ec020000 20000000 ffff1000 ffff0100  .... ...........
+ 0030 00000000 00000704 00000000 00000000  ................
+ 0040 ec023400 00005600 53005f00 56004500  ..4...V.S._.V.E.
+ 0050 52005300 49004f00 4e005f00 49004e00  R.S.I.O.N._.I.N.
+ 0060 46004f00 00000000 bd04effe 00000100  F.O.............
+ 0070 00000100 00000100 01000100 00000000  ................
+ 0080 3f000000 00000000 04000000 01000000  ?...............
+ 0090 00000000 00000000 00000000 4c020000  ............L...
+ 00a0 01005300 74007200 69006e00 67004600  ..S.t.r.i.n.g.F.
+ 00b0 69006c00 65004900 6e006600 6f000000  i.l.e.I.n.f.o...
+ 00c0 28020000 01003000 34003000 37003000  (.....0.4.0.7.0.
+ 00d0 34006500 34000000 32000900 01004300  4.e.4...2.....C.
+ 00e0 6f006d00 70006100 6e007900 4e006100  o.m.p.a.n.y.N.a.
+ 00f0 6d006500 00000000 62006900 6e007500  m.e.....b.i.n.u.
+ 0100 74006900 6c007300 00000000 42000d00  t.i.l.s.....B...
+ 0110 01004600 69006c00 65004400 65007300  ..F.i.l.e.D.e.s.
+ 0120 63007200 69007000 74006900 6f006e00  c.r.i.p.t.i.o.n.
+ 0130 00000000 52004300 20006300 6f006d00  ....R.C. .c.o.m.
+ 0140 70006900 6c006500 72002e00 00000000  p.i.l.e.r.......
+ 0150 30000800 01004600 69006c00 65005600  0.....F.i.l.e.V.
+ 0160 65007200 73006900 6f006e00 00000000  e.r.s.i.o.n.....
+ 0170 31002e00 30002e00 31002e00 30000000  1...0...1...0...
+ 0180 38000c00 01004900 6e007400 65007200  8.....I.n.t.e.r.
+ 0190 6e006100 6c004e00 61006d00 65000000  n.a.l.N.a.m.e...
+ 01a0 77006900 6e006400 72006500 73002e00  w.i.n.d.r.e.s...
+ 01b0 65007800 65000000 68002200 01004c00  e.x.e...h."...L.
+ 01c0 65006700 61006c00 43006f00 70007900  e.g.a.l.C.o.p.y.
+ 01d0 72006900 67006800 74000000 28006300  r.i.g.h.t...(.c.
+ 01e0 29002000 46005300 46002e00 20004100  ). .F.S.F... .A.
+ 01f0 6c006c00 20007200 69006700 68007400  l.l. .r.i.g.h.t.
+ 0200 73002000 61007200 65002000 72006500  s. .a.r.e. .r.e.
+ 0210 73006500 72007600 65006400 2e000000  s.e.r.v.e.d.....
+ 0220 40000c00 01004f00 72006900 67006900  @.....O.r.i.g.i.
+ 0230 6e006100 6c004600 69006c00 65006e00  n.a.l.F.i.l.e.n.
+ 0240 61006d00 65000000 77006900 6e006400  a.m.e...w.i.n.d.
+ 0250 72006500 73002e00 65007800 65000000  r.e.s...e.x.e...
+ 0260 54001a00 01005000 72006f00 64007500  T.....P.r.o.d.u.
+ 0270 63007400 4e006100 6d006500 00000000  c.t.N.a.m.e.....
+ 0280 77006900 6e006400 6f007700 73002000  w.i.n.d.o.w.s. .
+ 0290 72006500 73006f00 75007200 63006500  r.e.s.o.u.r.c.e.
+ 02a0 20006300 6f006d00 70006900 6c006500   .c.o.m.p.i.l.e.
+ 02b0 72000000 34000800 01005000 72006f00  r...4.....P.r.o.
+ 02c0 64007500 63007400 56006500 72007300  d.u.c.t.V.e.r.s.
+ 02d0 69006f00 6e000000 31002e00 31002e00  i.o.n...1...1...
+ 02e0 30002e00 30000000 44000000 01005600  0...0...D.....V.
+ 02f0 61007200 46006900 6c006500 49006e00  a.r.F.i.l.e.I.n.
+ 0300 66006f00 00000000 24000400 00005400  f.o.....$.....T.
+ 0310 72006100 6e007300 6c006100 74006900  r.a.n.s.l.a.t.i.
+ 0320 6f006e00 00000000 0704e404           o.n.........