From 7eda2b8891a15cd91f8fd145186fc74a302c0940 Mon Sep 17 00:00:00 2001 From: tromey Date: Fri, 23 Jan 2004 02:49:57 +0000 Subject: PR libgcj/13107: * testsuite/libjava.lang/pr13107_2.xfail: New file. * testsuite/libjava.lang/pr13107_3.xfail: New file. * testsuite/libjava.lang/pr13107_3.java: New file. * testsuite/libjava.lang/pr13107_3.out: New file. * testsuite/libjava.lang/pr13107_2.java: New file. * testsuite/libjava.lang/pr13107_2.out: New file. * testsuite/libjava.lang/pr13107.java: New file. * testsuite/libjava.lang/pr13107.out: New file. * verify.cc (jsr_ptrs): Removed. (entry_points): Likewise. (struct subr_info): Likewise. (struct subr_entry_info): Likewise. (type_val::unused_by_subroutine_type): Likewise. (type::merge): Don't handle unused_by_subroutine_type. (type::print): Likewise. (state::flags): Removed. (state::subroutine): Likewise. (state::seen_subrs): Likewise. (state::NO_STACK): Likewise. (state::FLAG_CHANGED, state::FLAG_UNUSED): Likewise. (state): Updated all methods. (state::clean_subrs): Removed. (state::state): Removed `ret_semantics' flag. (state::copy): Likewise. (state::add_subr): Removed. (state::enter_subroutine): Likewise. (type::set_return_address): New method. (handle_jsr_insn): Set return address on the type. Always invalidate PC after call. (check_nonrecursive_call): Removed. (~_Jv_BytecodeVerifier): Updated. (branch_prepass): Removed special handling of jsr. (note_branch_target): Likewise. (get_subroutine): Removed. (state::merge): Don't merge subroutines and don't handle NO_STACK. Removed ret_semantics and jsr_semantics arguments. (state::note_variable): Removed. (state::is_unmerged_ret_state): Likewise. (state::print): Updated. (set_variable): Likewise. (merge_into): Renamed from push_jump_merge. Removed ret_semantics and jsr_semantics arguments. Updated for new reverification list. (pop_jump): Rewrote. (construct_primitive_array_type): Updated. (state::next): Removed. (INVALID_STATE): New define. (state::INVALID): Removed. (state::NO_NEXT): New value. (state::pc, state::next): New fields. (state::get_pc): New method. (next_verify_pc): Removed. (next_verify_state): New field. (verify_instructions_0): Always check for falling off end. (linked): New type. (linked_utf8): Removed. (states): Changed type. (type::state_mergeable_p): New method. (state::state_mergeable_p): Likewise. (handle_ret_insn): Removed most code. (state::reverify): New method. (add_new_state): Likewise. (state::set_pc): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76395 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/testsuite/libjava.lang/pr13107.java | 25 +++++++++++++++++++++++++ libjava/testsuite/libjava.lang/pr13107.out | 0 libjava/testsuite/libjava.lang/pr13107_2.java | 19 +++++++++++++++++++ libjava/testsuite/libjava.lang/pr13107_2.out | 0 libjava/testsuite/libjava.lang/pr13107_2.xfail | 1 + libjava/testsuite/libjava.lang/pr13107_3.java | 16 ++++++++++++++++ libjava/testsuite/libjava.lang/pr13107_3.out | 1 + libjava/testsuite/libjava.lang/pr13107_3.xfail | 1 + 8 files changed, 63 insertions(+) create mode 100644 libjava/testsuite/libjava.lang/pr13107.java create mode 100644 libjava/testsuite/libjava.lang/pr13107.out create mode 100644 libjava/testsuite/libjava.lang/pr13107_2.java create mode 100644 libjava/testsuite/libjava.lang/pr13107_2.out create mode 100644 libjava/testsuite/libjava.lang/pr13107_2.xfail create mode 100644 libjava/testsuite/libjava.lang/pr13107_3.java create mode 100644 libjava/testsuite/libjava.lang/pr13107_3.out create mode 100644 libjava/testsuite/libjava.lang/pr13107_3.xfail (limited to 'libjava/testsuite') diff --git a/libjava/testsuite/libjava.lang/pr13107.java b/libjava/testsuite/libjava.lang/pr13107.java new file mode 100644 index 00000000000..06d4c54bbb3 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107.java @@ -0,0 +1,25 @@ +class pr13107 +{ + public static void main(String[] args) + { + for (int i = 0; i < 1; i++) { + String s = "A"; + + if (s == "A") + continue; + + try{ + try{ + System.out.println(s); + } + finally{ + if (s != "A") + throw new Error(); + } + } + catch(Exception e){ + s = "B"; + } + } + } +} diff --git a/libjava/testsuite/libjava.lang/pr13107.out b/libjava/testsuite/libjava.lang/pr13107.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libjava/testsuite/libjava.lang/pr13107_2.java b/libjava/testsuite/libjava.lang/pr13107_2.java new file mode 100644 index 00000000000..dba3b249e31 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_2.java @@ -0,0 +1,19 @@ +public class pr13107_2 +{ + public static int foo (boolean b) + { + int i; + try { + if (b) return 1; + i= 2; + } + finally { + if (b) i = 3; + } + return i; + } + + public static void main(String[] args) + { + } +} diff --git a/libjava/testsuite/libjava.lang/pr13107_2.out b/libjava/testsuite/libjava.lang/pr13107_2.out new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libjava/testsuite/libjava.lang/pr13107_2.xfail b/libjava/testsuite/libjava.lang/pr13107_2.xfail new file mode 100644 index 00000000000..81d6df0a027 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_2.xfail @@ -0,0 +1 @@ +xfail-byte diff --git a/libjava/testsuite/libjava.lang/pr13107_3.java b/libjava/testsuite/libjava.lang/pr13107_3.java new file mode 100644 index 00000000000..5ec9146051b --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.java @@ -0,0 +1,16 @@ +public class pr13107_3 +{ + public static void main(String[] args) + { + for (int i = 0; i < 1; i++) + { + try { + System.out.println(i); + } + finally { + if (i == 3) + continue; + } + } + } +} diff --git a/libjava/testsuite/libjava.lang/pr13107_3.out b/libjava/testsuite/libjava.lang/pr13107_3.out new file mode 100644 index 00000000000..573541ac970 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.out @@ -0,0 +1 @@ +0 diff --git a/libjava/testsuite/libjava.lang/pr13107_3.xfail b/libjava/testsuite/libjava.lang/pr13107_3.xfail new file mode 100644 index 00000000000..81d6df0a027 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.xfail @@ -0,0 +1 @@ +xfail-byte -- cgit v1.2.3