Parse symbols for the linker when more than one declaration
Craig A. Berry [Fri, 7 Oct 2005 02:41:03 +0000 (02:41 +0000)]
on the same line (the way PERLVARISC now throws at us).

p4raw-id: //depot/perl@25710

vms/gen_shrfls.pl

index 2a94014..fcd72f4 100644 (file)
@@ -146,17 +146,19 @@ sub scan_var {
 }
 
 sub scan_func {
-  my($line) = @_;
-
-  print "\tchecking for global routine\n" if $debug > 1;
-  $line =~ s/\b(IV|Off_t|Size_t|SSize_t|void)\b//i;
-  if ( $line =~ /(\w+)\s*\(/ ) {
-    print "\troutine name is \\$1\\\n" if $debug > 1;
-    if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq '__attribute__format__'
-        || $1 eq 'sizeof' || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) {
-      print "\tskipped\n" if $debug > 1;
+  my @lines = split /;/, @_[0];
+
+  for my $line (@lines) {
+    print "\tchecking for global routine\n" if $debug > 1;
+    $line =~ s/\b(IV|Off_t|Size_t|SSize_t|void)\b//i;
+    if ( $line =~ /(\w+)\s*\(/ ) {
+      print "\troutine name is \\$1\\\n" if $debug > 1;
+      if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq '__attribute__format__'
+          || $1 eq 'sizeof' || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) {
+        print "\tskipped\n" if $debug > 1;
+      }
+      else { $fcns{$1}++ }
     }
-    else { $fcns{$1}++ }
   }
 }