From 03daf305dd7b2f29db8cc12f5c18e2ff42a5d358 Mon Sep 17 00:00:00 2001
From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 7 Mar 2000 22:44:22 +0000
Subject: [PATCH] 	* lib/libjava.exp (test_libjava_from_javac): Removed
 hack for 	interfaces.  Fail if jv-scan reports a parse error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32392 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/testsuite/ChangeLog       |  3 +++
 libjava/testsuite/lib/libjava.exp | 33 +++++++++++++++++++------------
 2 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index a3082b867a6d..fbf93e66d5f1 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,5 +1,8 @@
 2000-03-07  Tom Tromey  <tromey@cygnus.com>
 
+	* lib/libjava.exp (test_libjava_from_javac): Removed hack for
+	interfaces.  Fail if jv-scan reports a parse error.
+
 	Test for PR gcj/162:
 	* libjava.lang/PR162.out: New file.
 	* libjava.lang/PR162.java: New file.
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index 8f047ae359a3..c561a3a7d70b 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -495,20 +495,27 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
 		     [target_compile $srcfile "" none \
 			"compiler=$jvscan additional_flags=--list-class"]]
     verbose "class list is $class_out"
-    # FIXME: As of Wed Feb 24 1999, `jv-scan --list-class' prints
-    # nothing if the file contains an interface and not a class.  I
-    # believe this is a jv-scan bug.
-    if {$class_out == ""} then {
-	set class_files \
-	  [list $objdir/[file rootname [file tail $srcfile]].class]
-    } else {
-	# Turn "a b" into "a.class b.class".
-	# Also, turn "foo.bar" into "foo/bar.class".
-	set class_files {}
-        foreach file [split [string trim $class_out]] {
-	    set file [join [split $file .] /]
-	    lappend class_files $objdir/$file.class
+
+    if {[string match "*parse error*" $main_name]
+	|| [string match "*parse error*" $class_out]} {
+	# Do the remaining fails.
+	setup_xfail "*-*-*"
+	fail "$errname compilation from bytecode"
+	if {! [info exists opts(no-exec)]} {
+	    setup_xfail "*-*-*"
+	    fail "$errname execution from bytecode->native test"
+	    setup_xfail "*-*-*"
+	    fail "$errname output from bytecode->native test"
 	}
+	return
+    }
+
+    # Turn "a b" into "a.class b.class".
+    # Also, turn "foo.bar" into "foo/bar.class".
+    set class_files {}
+    foreach file [split [string trim $class_out]] {
+	set file [join [split $file .] /]
+	lappend class_files $objdir/$file.class
     }
 
     # Usually it is an error for a test program not to have a `main'
-- 
GitLab