From e4402f97c18bdf20af5d1fc9a1f10f1b12e84eb2 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 14 Feb 2003 20:36:00 +0000
Subject: [PATCH] mauve.exp (mauve_compute_uses): Add inner class object files
 by changing all occurances of $ to ^.

       * libjava.mauve/mauve.exp (mauve_compute_uses): Add inner class
       object files by changing all occurances of $ to ^.
       (test_mauve): Replace ^ with $ for class file names and quote
       them with "'"s.

From-SVN: r62914
---
 libjava/testsuite/ChangeLog               |  7 +++++++
 libjava/testsuite/libjava.mauve/mauve.exp | 13 ++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index 7952a298fad5..47b08a428312 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2003-02-14  Mark Wielaard  <mark@klomp.org>
+
+	* libjava.mauve/mauve.exp (mauve_compute_uses): Add inner class
+	object files by changing all occurances of $ to ^.
+	(test_mauve): Replace ^ with $ for class file names and quote
+	them with "'"s.
+
 2003-02-13  Tom Tromey  <tromey@redhat.com>
 
 	* libjava.mauve/xfails: Added entries for an unimplemented Class
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp
index ce4b0cee9cb6..5eefd5d3e4ea 100644
--- a/libjava/testsuite/libjava.mauve/mauve.exp
+++ b/libjava/testsuite/libjava.mauve/mauve.exp
@@ -46,6 +46,12 @@ proc mauve_compute_uses {aName} {
     foreach file $ufiles {
       set file [file rootname $file].o
       lappend uses($item) $file
+      # Now add all inner classes
+      foreach inner [glob -nocomplain [file rootname $file]$*.class] {
+	# Prevent excessive escaping by replacing $ with a ^ in the .o name
+	set inner [string map {$ ^} [file rootname $inner]].o
+	lappend uses($item) $inner
+      }
     }
   }
 
@@ -179,9 +185,10 @@ proc test_mauve {} {
     foreach obj $uses($file) {
       if {! [file exists $obj]} then {
 	verbose "compiling $obj for test of $class"
-	set srcfile [file rootname $obj].class
+	# The .class file does contain a $, but we can quote it between "'"s.
+	set srcfile [string map {^ $} [file rootname $obj]].class
 	set x [libjava_prune_warnings \
-		 [target_compile [pwd]/$srcfile $obj object $compile_args]]
+		 [libjava_tcompile '[pwd]/$srcfile' $obj object $compile_args]]
 	if {$x != ""} then {
 	  fail "Compile $obj for $class"
 	  set ok 0
@@ -196,7 +203,7 @@ proc test_mauve {} {
     }
 
     set x [libjava_prune_warnings \
-	     [target_compile [concat $uses($file) $objlist] \
+	     [libjava_tcompile [concat $uses($file) $objlist] \
 		$Executable executable $link_args]]
     if {$x != ""} then {
       set proc_ok 0
-- 
GitLab