binutils* rclex.c: Add OWNERDRAW keyword.
	* rcparse.y: Add OWNERDRAW token.
	(menuitem_flag) Add BITMAP and OWNERDRAW entries.
	* resrc.c (write_rc_menuitems): Add support for OWNERDRAW and
	BITMAP flags.
	* windres.c (extended_menuitems): Likewise.
	* testsuite/binutils-all/windres/menuitem_flags.rc: New test.
+2020-07-09  Nick Clifton  <nickc@redhat.com>
+
+       * rclex.c: Add OWNERDRAW keyword.
+       * rcparse.y: Add OWNERDRAW token.
+       (menuitem_flag) Add BITMAP and OWNERDRAW entries.
+       * resrc.c (write_rc_menuitems): Add support for OWNERDRAW and
+       BITMAP flags.
+       * windres.c (extended_menuitems): Likewise.
+       * testsuite/binutils-all/windres/menuitem_flags.rc: New test.
+
 2020-07-09  Alan Modra  <amodra@gmail.com>
 
        * readelf (slurp_hppa_unwind_table): Set table_len before use
 
   K(LANGUAGE), K(LISTBOX), K(LOADONCALL), K(LTEXT),
   K(MANIFEST), K(MENU), K(MENUBARBREAK), K(MENUBREAK),
   K(MENUEX), K(MENUITEM), K(MESSAGETABLE), K(MOVEABLE),
-  K(NOINVERT), K(NOT),
+  K(NOINVERT), K(NOT), K(OWNERDRAW),
   K(PLUGPLAY), K(POPUP), K(PRELOAD), K(PRODUCTVERSION),
   K(PURE), K(PUSHBOX), K(PUSHBUTTON),
   K(RADIOBUTTON), K(RCDATA), K(RTEXT),
 
 %token ICON
 %token ANICURSOR ANIICON DLGINCLUDE DLGINIT FONTDIR HTML MANIFEST PLUGPLAY VXD TOOLBAR BUTTON
 %token LANGUAGE CHARACTERISTICS VERSIONK
-%token MENU MENUEX MENUITEM SEPARATOR POPUP CHECKED GRAYED HELP INACTIVE
+%token MENU MENUEX MENUITEM SEPARATOR POPUP CHECKED GRAYED HELP INACTIVE OWNERDRAW
 %token MENUBARBREAK MENUBREAK
 %token MESSAGETABLE
 %token RCDATA
          {
            $$ = MENUITEM_MENUBREAK;
          }
+       | BITMAP
+         {
+           $$ = MENUITEM_BITMAP;
+         }
+       | OWNERDRAW
+         {
+           $$ = MENUITEM_OWNERDRAW;
+         }
        ;
 
 /* Menuex resources.  */
 
            fprintf (e, ", MENUBARBREAK");
          if ((mi->type & MENUITEM_MENUBREAK) != 0)
            fprintf (e, ", MENUBREAK");
+         if ((mi->type & MENUITEM_OWNERDRAW) != 0)
+           fprintf (e, ", OWNERDRAW");
+         if ((mi->type & MENUITEM_BITMAP) != 0)
+           fprintf (e, ", BITMAP");
        }
       else
        {
 
--- /dev/null
+// parse-only
+
+1 MENU
+{
+    POPUP "&File"
+    {
+        MENUITEM "This is a test #1", 100, BITMAP
+        MENUITEM "This is a test #2", 101, OWNERDRAW
+        MENUITEM "This is a test #3", 102, CHECKED
+        MENUITEM "This is a test #4", 103, GRAYED
+        MENUITEM "This is a test #5", 104, HELP
+        MENUITEM "This is a test #6", 105, INACTIVE
+        MENUITEM "This is a test #7", 106, MENUBARBREAK
+        MENUITEM "This is a test #8", 107, MENUBREAK
+    }
+}
 
                | MENUITEM_HELP
                | MENUITEM_INACTIVE
                | MENUITEM_MENUBARBREAK
+               | MENUITEM_BITMAP
+               | MENUITEM_OWNERDRAW
                | MENUITEM_MENUBREAK))
          != 0)
        return 1;