* ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.
authorAlan Modra <amodra@gmail.com>
Thu, 20 Feb 2003 01:02:39 +0000 (01:02 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 20 Feb 2003 01:02:39 +0000 (01:02 +0000)
* ldgram.y (vers_defns): Allow optional trailing semicolon in
EXTERN NAME block;

ld/ChangeLog
ld/ldgram.y

index eab0eed7134c08a541799d73823c7a3172483b34..e13943af12a88813ed5701d44fbb671073bc65ec 100644 (file)
@@ -1,3 +1,12 @@
+2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
+
+       * ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.
+
+2003-02-20  Harri Porten  <porten@kde.org>
+
+       * ldgram.y (vers_defns): Allow optional trailing semicolon in
+       EXTERN NAME block;
+
 2003-02-18  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/ppc32elf.em: New file.
index 5904accce6125cbb1f25ba93d96b3179f4121d79..fadc3e534e90c862b0a9adc7b97455406a0d2ed7 100644 (file)
@@ -1130,18 +1130,33 @@ vers_defns:
                {
                  $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang);
                }
+       |       vers_defns ';' EXTERN NAME '{'
+                       {
+                         $<name>$ = ldgram_vers_current_lang;
+                         ldgram_vers_current_lang = $4;
+                       }
+               vers_defns opt_semicolon '}'
+                       {
+                         $$ = $7;
+                         ldgram_vers_current_lang = $<name>6;
+                       }
        |       EXTERN NAME '{'
                        {
                          $<name>$ = ldgram_vers_current_lang;
                          ldgram_vers_current_lang = $2;
                        }
-               vers_defns '}'
+               vers_defns opt_semicolon '}'
                        {
                          $$ = $5;
                          ldgram_vers_current_lang = $<name>4;
                        }
        ;
 
+opt_semicolon:
+               /* empty */
+       |       ';'
+       ;
+
 %%
 void
 yyerror(arg)